\ \

..:: TWiki em português -- RegularExpressions ::..

Warning: Can't find topic SelectTwikiWebs

[ Versão ultrapassada. ver RegularExpression ]

Expressões Regulares (ERs), ao contrário de simples perguntas, permite a você pesquisar textos cujas combinações tenham um significado particular.

ERs são similares (embora mais poderosas) às "wildcards" usadas nas interfaces das linhas de comando encontradas em sistemas operacionais, tanto no UNIX quanto no MS-DOS. As ERs são usadas por sofisticadas ferramentas de buscas, assim como por muitas linguagens e ferramentas baseadas no UNIX (ex.: awk, grep, lex, perl e sed).

Exemplos

compan(y|ies) Procura por company , companies
(joão|maria) Procura por joão , maria
bug* Procura por bug , bugs , bugfix
[Bb]ag Procura por Bag , bag
b[aiueo]g A segunda letra é uma vogal. Combinações bag , bug , big
b.g A segunda letra é algum caractere. Combinações como b&g
[a-zA-Z] Combinações com uma letra qualquer maiúscula ou minúscula (exceto números e símbolos)
[^0-9a-zA-Z] Combinações sem uma letra ou um símbolo ou um número quaisquer(o símbolo ^ significa negação)
[A-Z][A-Z]* Combinações entre duas letras maiúsculas e qualquer outro símbolo, letra ou número, que está indicado por '*'
[0-9][0-9][0-9][0-9][0-9]-
[0-9][0-9][0-9]
Seqüência de números quaisquer. CEP no Brasil, por exemplo: 40220-140

Aqui está algum material para os nossos freaks UNIX:
(copiado de 'man grep')

     \c   Uma contrabarra (\) seguida por qualquer caracter especial é uma 
          expressão regular de um caracter que casa com o próprio
          caracter especial.  Os caracteres especiais são:

               +    `.', `*', `[',  e  `\'  (ponto,  asterisco,
                    abre colchete, e contrabarra, respectivamente),
                    os quais são sempre especiais,  exceto
                    quando aparecem entre colchetes([]).

               +    `^' (circunflexo), que é especial no início
                    de uma expressão regular inteira, ou quando   
                    segue imediatamente a esquerda de colchetes([].
                    
               +    $ (cifrão), que é especial no fim de uma expressão 
                    regular inteira.                       

     .    Um `.' (ponto) é uma expressão regular de um caracter  
          que combina qualquer caracter, com  exceção de NEWLINE.
 
     [string]
          Uma  string não-vazia de  caracteres  entre colchetes é 
          uma  expressão  regular  de  um  caracter  que  combina  
          qualquer  caracter  naquela  string.  Se, no entanto, o 
          primeiro caracter da string for um `^' (circunflexo), a 
          expressão  regular  de  um  caracter  combina  qualquer   
          caracter exceto NEWLINE e o restante  dos caracteres da
          string.  O  `^'  tem um significado especial somente se 
          for  o primeiro a ocorrer na string.  O `-'(menos) pode
          ser  utilizado para indicar uma seqüência de caracteres
          ASCII consecutivos;  por exemplo, [0-9] é equivalente a
          [0123456789]. O `-' perde este significado especial ca-  
          so  apareça no início (depois de `^' inicial, caso haja 
          algum) ou no fim da string.  O `]' (fecha colchete) não
          finaliza tal string quando é o primeiro caracter dentro
          dela (depois de `^' inicial, caso haja algum); ou seja,
          []a-f]  combina tanto `]' (fecha colchetes ) quanto uma
          das letras de a até f  inclusive. Os  quatro caracteres
          `.', `*', `[', e `\' stand for themselves dentro de tal
          string de caracteres.

     As regras seguintes podem ser usadas  para construir expres-
     sões regulares:

     *    Uma expressão regular de um caracter  seguida  por  `*'
          (asterisco) é uma expressão regular que combina zero ou
          mais ocorrências de expressões regulares de um caracter.
          Se houver alguma escolha, the longest leftmost string 
          that permits a match is chosen.

     ^    Um  circunflexo ou um sinal de intercalação (^) no iní-
          cio de uma  expressão regular inteira confinam essa ex-
          pressão  regular  para  combinar um segmento inicial de 
          uma linha.

     $    Um cifrão ($) no final de uma expresão regular  inteira
          confina  essa expressão  regular para  combinar um seg-
          mento inicial de uma linha.

     *    Uma expressão  regular (não somente uma expressão regu-
          lar de um caracter ) seguida  por `*' (asterisco) é uma
          expressão regular que combina  zero ou mais ocorrências
          da  expressão  regular de um caracter. Caso haja alguma       
          escolha,  the longest  leftmost string  that  permits a 
          match is chosen.

     +    Uma  expressão regular seguida  por `+' (sinal de mais)
          é  uma expressão  regular que combina uma ou mais ocor-
          rências de uma expressão regular  de um caracter. Caso  
          haja  alguma escolha, the longest leftmost string  that
          permits a match is chosen.

     ?    Uma  expressão regular seguida  por `?' (interrogação)
          é uma expressão regular que combina zero ou mais ocor-
          rências de uma expressão regular  de um caracter. Caso 
          haja alguma escolha, the longest leftmost string  that
          permits a match is chosen.

     |    Alternação: duas expressões regulares separadas por `|'  
          ou NEWLINE casam  ou uma combinação para a primeira ou
          uma  combinação para a segunda.

     ()   Uma  expressão regular entre parênteses casa uma combi-
          nação para a expressão regular.

     A  ordem de  precedência  dos operadores  no mesmo nível dos     
     parênteses é `[ ]' (classes do caracter), depois `*' `+'  `?'
     (fechamentos), depois concatenação, depois `|' (alternação) e
     NEWLINE.

TraducaoForm
Categoria Traducao
EstadoDaTraducao TopicoTraduzido
FonteOriginal

Tópico RegularExpressions    --    Editar Anexar Ver diffs Mais...

XHTML 1.0 válido! CSS válido! Sou tableless!