Há duas maneiras de criar uma ocorrência de expressão regular: Um modo usa caracteres de barra (
/
) para delinear a expressão regular; o outro usa o construtor
new
. Por exemplo, as expressões regulares a seguir são equivalentes:
var pattern1:RegExp = /bob/i;
var pattern2:RegExp = new RegExp("bob", "i");
As barras delineiam um literal da expressão regular da mesma forma que as aspas delineiam um literal de string. A parte da expressão regular entre as barras define o
padrão.
A expressão regular também pode incluir
sinalizadores
depois da barra delineadora final. Esses sinalizadores são considerados como parte da expressão regular, mas são separados do padrão.
Ao usar o construtor
new
, você usa duas strings para definir a expressão regular. A primeira string define o padrão e a segunda string define os sinalizadores como no exemplo a seguir:
var pattern2:RegExp = new RegExp("bob", "i");
Ao incluir uma barra
em
uma expressão regular que é definida utilizando os delineadores de barra, você deve preceder a barra com um caractere escape de barra invertida (
\
). Por exemplo, as expressões regulares a seguir correspondem ao padrão
1/2
:
var pattern:RegExp = /1\/2/;
Para incluir aspas
em
uma expressão regular que é definida com o construtor
new
, você deve adicionar uma caractere escape de barra invertida (
\
) antes das aspas (assim como faria ao definir qualquer literal String). Por exemplo, as expressões regulares a seguir correspondem ao padrão
eat at "joe's"
:
var pattern1:RegExp = new RegExp("eat at \"joe's\"", "");
var pattern2:RegExp = new RegExp('eat at "joe\'s"', "");
Não use o caractere escape de barra invertida com aspas em expressões regulares que são definidas utilizando os delineadores de barra. Da mesma forma, não use o caractere escape com barras em expressões regulares que são definidas utilizando o construtor
new
. As expressões regulares a seguir são equivalentes e definem o padrão
1/2 "joe's"
:
var pattern1:RegExp = /1\/2 "joe's"/;
var pattern2:RegExp = new RegExp("1/2 \"joe's\"", "");
var pattern3:RegExp = new RegExp('1/2 "joe\'s"', '');
Em uma expressão regular definida com o construtor
new
, para usar uma metassequência que comece com o caractere de barra invertida (
\
) , como
\d
(que corresponde a qualquer dígito), digite duas vezes esse caractere de barra invertida:
var pattern:RegExp = new RegExp("\\d+", ""); // matches one or more digits
É necessário digitar o caractere de barra invertida duas vezes nesse caso, pois o primeiro parâmetro do método do construtor
RegExp()
é uma string, e, em um literal de string, é necessário digitar um caractere de barra invertida duas vezes para que ele seja reconhecido como um único caractere de barra invertida.
As seções a seguir descrevem a sintaxe para definir os padrões de expressões regulares.
Para obter mais informações sobre sinalizadores, consulte
Sinalizadores e propriedades
.