Compartilhar via


Sintaxe de expressão regular

A a expressão regular descreve um ou mais seqüências de caracteres para corresponder ao pesquisar um corpo de texto. A expressão serve como um modelo para que corresponda a um padrão de caractere para a seqüência de caracteres que está sendo pesquisado.

Uma expressão regular consiste em comum (por exemplo, letras de a z) e caracteres especiais, conhecidos como metacaracteres.

Caracteres Especiais

A tabela a seguir contém uma lista de metacaracteres de caractere único e seu comportamento em expressões regulares.

ObservaçãoObservação

Para corresponder a um desses caracteres especiais, você deve primeiro escape o caractere, ou seja, preceda-o com um caractere de barra invertida (\). Por exemplo, para procurar o "+" caractere literal, você pode usar a expressão "\ +".

Metacaractere

Comportamento

Exemplo

*

Coincide com o caractere anterior ou uma subexpressão zero ou mais vezes.

Equivalente a {0,}.

zo*corresponde a "z" e "zoo".

+

Coincide com o caractere anterior ou a subexpressão uma ou mais vezes.

Equivalente a {1,}.

zo+corresponde a "zo" e "zoo", mas não a "z".

?

Coincide com o caractere anterior ou a hora de subexpressão zero ou mais.

Equivalente a {0,1}.

Quando? segue imediatamente o quantificador any (*, +,?, {n}, {n,}, ou {n,m}), o padrão de correspondência é - greedy. Um padrão não greedy coincide com o mínimo de seqüência de caracteres pesquisada possível. O padrão de greedy coincide com o máximo da seqüência de caracteres pesquisada quanto possível.

zo?corresponde a "z" e "zo", mas não a "zoo".

o+?corresponde a um único "o" no "oooo", e o+ corresponde a todos os s de "o".

do(es)?corresponde a "fazer" em "fazer" ou "".

^

Corresponde à posição no início da cadeia de caracteres pesquisada. Se a m os caracteres (Pesquisar em várias linhas) está incluído com os sinalizadores ^ também corresponde à posição seguinte \n ou \r.

Quando usado como o primeiro caractere em uma expressão de colchete, ^ nega o conjunto de caracteres.

^\d{3}corresponde a 3 dígitos numéricos no início da cadeia de caracteres pesquisada.

[^abc]corresponde a qualquer caractere, exceto a, b e c.

$

Corresponde à posição no final da seqüência de caracteres pesquisada. Se a m os caracteres (Pesquisar em várias linhas) está incluído com os sinalizadores ^ também corresponde à posição antes \n ou \r.

\d{3}$corresponde a 3 dígitos numéricos, no final da seqüência de caracteres pesquisada.

.

Corresponde a qualquer caractere único exceto o caractere de nova linha \n. Para corresponder a qualquer caractere incluindo o \n, use um padrão como [\s\S].

a.ccorresponde a "abc", "a1c" e "a-c".

[]

Marca o início e no final de uma expressão de colchete.

[1-4]corresponde a "1", "2", "3" ou "4". [^aAeEiIoOuU]corresponde a qualquer caractere não vogal.

{}

Marca o início e no final de uma expressão de quantificador.

a{2,3}corresponde a "aa" e "aaa".

()

Marca o início e fim de uma subexpressão. Subexpressões podem ser salvas para uso posterior.

A(\d)corresponde a "a0" para "a9". O dígito é salvo para uso posterior.

|

Indica uma escolha entre dois ou mais itens.

z|foodcorresponde a "z" ou "comida". (z|f)oodcorresponde a "zood" ou "comida".

/

Indica o início ou fim de um padrão de expressão regular literal em JScript. Após os segundo "/", caractere único sinalizadores podem ser adicionados para especificar o comportamento de pesquisa.

/abc/gié um JScript literal expressão regular que corresponda ao "abc". O g Especifica do sinalizador (global) para localizar todas as ocorrências do padrão e o i (ignorar maiúsculas e minúsculas) sinalizador torna a pesquisa diferencia maiúsculas de minúsculas.

\

Marca o próximo caractere como um caractere especial, um literal, uma retrorreferência ou um escape octal.

\ncorresponde a um caractere de nova linha. \(corresponde a "(". \\corresponde a "\".

Caracteres especiais mais perdem seu significado e representam caracteres comuns quando elas ocorrem dentro de uma expressão de colchete. Para obter mais informações, consulte "Caracteres em expressões de colchete" in Listas de correspondência de caracteres.

Metacaracteres

A tabela a seguir contém uma lista de vários caracteres metacaracteres e seu comportamento em expressões regulares.

Metacaractere

Comportamento

Exemplo

\b

Corresponde a um limite de palavra; ou seja, a posição entre uma palavra e um espaço.

er\bcorresponde a "er" em "never" mas não o "er" em "verbo".

\B

Corresponde a um não-limite de palavra.

er\Bcorresponde a "er" em "verbo" mas não o "er" em "never".

\d

Corresponde a um caractere de dígito.

Equivalente a [0-9].

No pesquisado string "12 345," \d{2} corresponde a "12" e "34". \dcorresponde a "1", 2","3","4"e"5".

\D

Corresponde a um caractere não dígito.

Equivalente a [^0-9].

\D+corresponde a "abc" e" Def." no "abc123 def".

\w

Corresponde a qualquer um dos seguintes caracteres: A-Z, a-z, 0-9 e o caractere de sublinhado.

Equivalente a [A-Za-z0-9_].

No pesquisado string "A rápida marrom fox…", \w+ corresponde a "Ele", "rápido", "marrom" e "fox".

\W

Corresponde a qualquer caractere, exceto A-Z, a-z, 0-9 e sublinhado.

Equivalente a [^A-Za-z0-9_].

No pesquisado string "A rápida marrom fox…", \W+ corresponde a "…" e todos os espaços.

xyz

Um conjunto de caracteres. Corresponde a qualquer um dos caracteres especificados.

[abc]corresponde a "a" em "plain".

^xyz

Um conjunto de caracteres negativos. Corresponde a qualquer caractere que não esteja especificada.

[^abc]corresponde ao "p", "l", "i" e "n" em "plain".

a-z

Um intervalo de caracteres. Corresponde a qualquer caractere no intervalo especificado.

[a-z]corresponde a qualquer caractere alfabético minúsculo no intervalo "a" a "z".

^a-z

Um intervalo negativo de caracteres. Corresponde a qualquer caractere que não esteja no intervalo especificado.

[^a-z]corresponde a qualquer caractere que não está no intervalo "a" a "z".

{n}

Corresponde exatamente ao n vezes. n é um inteiro não negativo.

o{2}não corresponde ao "o" em "Bob", mas faz correspondência dois "o" s em "comida".

{n,}

Coincide pelo menos n vezes. n é um inteiro não negativo.

*é equivalente a {0,}.

+é equivalente a {1,}.

o{2,}não corresponde ao "o" em "Bob" mas corresponde a todos os "o" s em "foooood".

{n,m}

Coincide pelo menos n e no máximo m vezes. n e m são inteiros não negativos, onde n < = m. Não pode haver um espaço entre a vírgula e os números.

?é equivalente a {0,1}.

A seqüência de caracteres pesquisada"1234567" \d{1,3} corresponde a "123", "456" e "7".

(pattern)

Correspondências padrão e salva a correspondência. Você pode recuperar a salva de correspondência de elementos da matriz retornados pela exec Method na JScript. Para coincidir os caracteres de parênteses (), use "\ (" ou "\".

(Chapter|Section) [1-9]corresponde a "Capítulo 5" e "Chapter" é salvo para uso posterior.

(?:pattern)

Correspondências padrão mas não salva a correspondência; Isto é, a correspondência não é armazenada para possível uso posterior. Isso é útil para combinar partes de um padrão com o "ou" caractere (|).

industr(?:y|ies)é equivalente a industry|industries.

(?=pattern)

Positiva visão antecipada. Depois que uma correspondência for encontrada, a pesquisa para a próxima correspondência inicia antes do texto correspondente. A correspondência não é salvo para uso posterior.

^(?=.*\d).{4,8}$aplica uma restrição que uma senha deve ter 4 a 8 caracteres e deve conter pelo menos um dígito.

Dentro do padrão, .*\d localiza qualquer número de caracteres, seguido de um dígito. Para a seqüência pesquisada "abc3qr", isso corresponde a "abc3".

Iniciando antes, em vez de após essa correspondência, .{4,8} corresponde a uma seqüência de caracteres 4 a 8. Isso corresponde a "abc3qr".

O ^ e $ especificar as posições no início e fim da seqüência de caracteres pesquisada. Isso é para evitar que uma correspondência se a seqüência de caracteres pesquisada contém caracteres que fora do correspondente.

(?!pattern)

Negativa visão antecipada. Corresponde a uma seqüência de pesquisa que não corresponde a padrão. Depois que uma correspondência for encontrada, a pesquisa para a próxima correspondência inicia antes do texto correspondente. A correspondência não é salvo para uso posterior.

\b(?!th)\w+\bcorresponde a palavras que não começam com "th".

Dentro do padrão, \b corresponde a um limite de palavra. A seqüência de caracteres pesquisada" rápida ", isso corresponde ao primeiro espaço. (?!th)corresponde a uma seqüência de caracteres que não seja "th". Isso corresponde a "qu".

Iniciando antes que coincidirem com, \w+ corresponde a uma palavra. Isso corresponde a "rápida".

\cx

Corresponde ao caractere de controle é indicado por x. O valor de x deve estar no intervalo de A-Z ou a-z. Se não estiver, c é considerado um literal "c" caractere.

\cMcorresponde a um caractere de retorno de carro ou de CTRL + M.

\xn

Correspondências n, onde n é um valor de escape hexadecimais. Os valores de escape hexadecimais devem ser exatamente dois dígitos. Permite que os códigos ASCII ser usado em expressões regulares.

\x41corresponde a "A". \x041é equivalente a "\x04" seguido por "1" (como n deve ter exatamente 2 dígitos).

\num

Correspondências num, onde num é um inteiro positivo. Esta é uma referência a salvas de correspondências.

(.)\1corresponde a dois caracteres idênticos consecutivos.

\n

Identifica um valor de escape octais ou referência anterior. Se \n é precedido pelo menos n capturados subexpressões, n é uma referência anterior. Caso contrário, n é um valor de escape octais se n é um dígito octal (0-7).

(\d)\1coincide com dois dígitos de idênticos consecutivos.

\nm

Identifica um valor de escape octais ou referência anterior. Se \nm é precedido pelo menos nm capturados subexpressões, nm é uma referência anterior. Se \nm é precedido pelo menos n capturados subexpressões, n é uma retrorreferência seguida literal m. Se nenhuma dessas condições existirem, \nm corresponde ao valor de escape octal nm quando n e m são dígitos octais (0-7).

\11corresponde a um caractere de tabulação.

\nml

Valor de escape octais de correspondências nml quando n é um dígito octal (0-3) e m e l são dígitos octais (0-7).

\011corresponde a um caractere de tabulação.

\un

Correspondências n, onde n é um caractere Unicode, expresso como quatro dígitos hexadecimais.

\u00A9coincide com o símbolo de copyright (©).

Caracteres não imprimíveis

A tabela a seguir contém as seqüências de escape para representam caracteres não imprimíveis.

Caracterer

Matches

Equivalente a

\f

Caractere de avanço de formulário.

\x0c e \cL

\n

Caractere de nova linha.

\x0a e \cJ

\r

Caractere de retorno de carro.

\x0d e \cM

\s

Qualquer caractere de espaço em branco. Isso inclui o espaço, tabulação e avanço de página.

[ \f\n\r\t\v]

\S

Qualquer caractere de espaço de non–white.

[^ \f\n\r\t\v]

\t

Caractere de tabulação.

\x09 e \cI

\v

Caractere de tabulação vertical.

\x0b e \cK

Ordem de precedência

Uma expressão regular é avaliada muito como uma expressão aritmética; ou seja, avaliado da esquerda para a direita e segue uma ordem de precedência.

A tabela a seguir contém a ordem de precedência de operadores de expressão regular, em ordem decrescente.

Operador ou operadores

Descrição

\

Escape

(), (?:), (?=), []

Colchetes e parênteses

*, +, ?, {n}, {n,}, {n,m}

Quantificadores

^, $, \anymetacharacter

Âncoras e seqüências

|

Alternação

Caracteres têm precedência maior do que o operador de alternação, permitindo, por exemplo, "m|food" para coincidir com "m" ou "comida".

Consulte também

Conceitos

Criando uma expressão Regular