Uma expressão regular (regex) é uma sequência de caracteres que define um padrão de pesquisa. Veja como escrever expressões regulares:
- Comece entendendo os caracteres especiais usados em regex, como '.' '*' '+' '?' e muito mais.
- Escolha uma linguagem de programação ou ferramenta que suporte regex, como Python Perl ou grep.
- Escreva seu padrão usando caracteres especiais e caracteres literais.
- Use a função ou método apropriado para procurar o padrão em uma string.
Exemplos:
- Para corresponder a uma sequência de caracteres literais, basta escrever esses caracteres no padrão.
- Para corresponder a um único caractere de um conjunto de possibilidades, use colchetes, por exemplo. [0123456789] corresponde a qualquer dígito.
- Para corresponder a zero ou mais ocorrências da expressão anterior, use o símbolo de asterisco (*).
- Para corresponder a uma ou mais ocorrências da expressão anterior, use o símbolo de mais (+).
- É importante observar que regex pode ser complexo e difícil de ler, por isso é recomendado usar ferramentas como testadores de regex para depurar e otimizar seus padrões.
Uma expressão regular (às vezes chamada de expressão racional) é uma sequência de caracteres que define um padrão de pesquisa principalmente para uso na correspondência de padrões com strings ou correspondência de strings, ou seja, operações semelhantes a 'localizar e substituir'. Expressões regulares são uma forma generalizada de combinar padrões com sequências de caracteres. É usado em todas as linguagens de programação como C++ Java e Python.
O que é uma expressão regular e o que a torna tão importante?
Regex é usado em Google Analytics na correspondência de URL no suporte a pesquisas e substituições nos editores mais populares, como Sublime Notepad++ Brackets Google Docs e Microsoft Word.
Example : Regular expression for an email address :
^([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z]{25})$
A expressão regular acima pode ser usada para verificar se um determinado conjunto de caracteres é um endereço de e-mail ou não.
Como escrever expressões regulares?
Existem certos elementos usados para escrever expressões regulares, conforme mencionado abaixo:
1. Repetidores ( * + e { } )
Esses símbolos atuam como repetidores e informam ao computador que o caractere anterior deve ser usado mais de uma vez.
2. O símbolo de asterisco (*)
Diz ao computador para corresponder ao caractere anterior (ou conjunto de caracteres) por 0 ou mais vezes (até infinito).
Example : The regular expression ab*c will give ac abc abbc abbbc….and so on 3. O símbolo de mais (+)
Diz ao computador para repetir o caractere anterior (ou conjunto de caracteres) pelo menos uma ou mais vezes (até infinito).
Example : The regular expression ab+c will give abc abbc
abbbc … and so on.
4. As chaves {…}
Ele diz ao computador para repetir o caractere anterior (ou conjunto de caracteres) tantas vezes quanto o valor dentro deste colchete.
Example : {2} means that the preceding character is to be repeated 2
times {min} means the preceding character is matches min or more
times. {minmax} means that the preceding character is repeated at
least min & at most max times.
5. Curinga (.)
O símbolo de ponto pode substituir qualquer outro símbolo, por isso é chamado de caractere curinga.
quantas cidades existem nos EUA
Example :
The Regular expression .* will tell the computer that any character
can be used any number of times.
6. Caractere opcional (?)
Este símbolo informa ao computador que o caractere anterior pode ou não estar presente na string a ser correspondida.
Example :
We may write the format for document file as – docx?
The ‘?’ tells the computer that x may or may not be
present in the name of file format.
7. O símbolo de circunflexo ( ^ ) ( Definir posição para a partida)
O símbolo circunflexo informa ao computador que a correspondência deve começar no início da string ou linha.
Example : ^d{3} will match with patterns like '901' in '901-333-'.8. O símbolo do dólar ($)
Diz ao computador que a correspondência deve ocorrer no final da string ou antes de n no final da linha ou string.
Example : -d{3}$ will match with patterns like '-333' in '-901-333'.9. Classes de personagens
Uma classe de caracteres corresponde a qualquer um de um conjunto de caracteres. É usado para corresponder ao elemento mais básico de um idioma, como uma letra, um dígito, um espaço, um símbolo, etc.
é : corresponde a quaisquer caracteres de espaço em branco, como espaço e tabulação.
S : corresponde a quaisquer caracteres que não sejam espaços em branco.
d : corresponde a qualquer caractere de dígito.
D: corresponde a quaisquer caracteres que não sejam dígitos.
Em : corresponde a qualquer caractere de palavra (basicamente alfanumérico)
EM : corresponde a qualquer caractere que não seja de palavra.
b : corresponde a qualquer limite de palavra (isso incluiria espaços, traços, vírgulas, ponto e vírgula, etc.
[conjunto_de_caracteres]: Corresponde a qualquer caractere único em set_of_characters. Por padrão, a correspondência diferencia maiúsculas de minúsculas.
Example : [abc] will match characters ab and c in any string.10. [^conjunto_de_caracteres] Negação:
Corresponde a qualquer caractere único que não esteja em set_of_characters. Por padrão, a correspondência diferencia maiúsculas de minúsculas.
lobo ou raposa
Example : [^abc] will match any character except abc .11. [primeiro-último] Faixa de caracteres:
Corresponde a qualquer caractere único no intervalo, do primeiro ao último.
Example : [a-zA-z] will match any character from a to z or A to Z.12. O símbolo de escape ( )
Se você deseja corresponder aos caracteres reais ‘+’ ‘.’ etc, adicione uma barra invertida () antes desse caractere. Isso dirá ao computador para tratar o caractere a seguir como um caractere de pesquisa e considerá-lo como um padrão correspondente.
Example : d+[+-x*]d+ will match patterns like '2+2'
and '3*9' in '(2+2) * 3*9'.
13. Agrupamento de caracteres ( )
Um conjunto de diferentes símbolos de uma expressão regular pode ser agrupado para atuar como uma única unidade e se comportar como um bloco. Para isso, você precisa colocar a expressão regular entre parênteses ().
Example : ([A-Z]w+) contains two different elements of the regular
expression combined together. This expression will match any pattern
containing uppercase letter followed by any character.
14. Barra vertical ( | )
Corresponde a qualquer elemento separado pelo caractere de barra vertical (|).
Example : th(e|is|at) will match words - the this and that.15. número
Referência retroativa: permite que uma subexpressão previamente correspondida (expressão capturada ou colocada entre colchetes circulares) seja identificada posteriormente na mesma expressão regular. n significa que o grupo incluído no n-ésimo colchete será repetido na posição atual.
Example : ([a-z])1 will match ee in Geek because the character
at second position is same as character at position 1 of the match.
16. Como (?# comentário)
Comentário embutido: o comentário termina no primeiro parêntese de fechamento.
Example : bA(?#This is an inline comment)w+b17. # [até o fim da linha]
Comentário do modo X. O comentário começa com um # sem escape e continua até o final da linha.
Example : (?x)bAw+b#Matches words starting with A