Expressões Regulares III – âncoras, limites de palavras e caracteres de palavras

Âncoras

“Âncora” é o nome que damos para os caracteres ^ e $. ^ significa o início da linha e $ significa o fim da linha.
Então se eu tiver a seguinte regex

^[Tt]este

e aplicá-la ao seguinte texto

Teste unitário é um tipo de teste que v…


This content originally appeared on DEV Community 👩‍💻👨‍💻 and was authored by Patrícia Villela

Âncoras

"Âncora" é o nome que damos para os caracteres ^ e $. ^ significa o início da linha e $ significa o fim da linha.
Então se eu tiver a seguinte regex

^[Tt]este

e aplicá-la ao seguinte texto

Teste unitário é um tipo de teste que visa testar
apenas uma unidade de código, como um fluxo determinado de
uma função.

A regex vai dar match apenas no primeiro Teste porque ele está no início da linha, representado pelo ^. A mesma coisa acontece com $.

A regex
nunca$
aplicada no texto

Lembre-se, nunca diga nunca

vai dar match somente no segundo nunca.

Limites de palavras

Limites de palavras é o nome que damos ao caracter especial \b. Ele serve para darmos match no início ou no final de uma palavra.

A regex
\bvel
aplicado sobre o texto
O vel da noiva é invisível
vai dar match apenas na palavra vel, porque \b dá o match no limite da palavra.

Em contrapartida, o caracter \B vai dar match em posições que \b não dá match.

\Bvel
aplicado sobre o texto
O vel da noiva é invisível
dá match no vel de invisível.

Mas como a engine sabe que a palavra acabou? Como ela decide o final da palavra anti-herói? \b dá match no que \w não dá. \w é chamado de word character. Ele dá match em "caracteres de palavras", então as letras do alfabeto, algarismos e underline (_). Algumas implementações, ou flavors, de regex suportam Unicode por padrão, como a engine do Python. Nas que não suportam, o ó de herói não será reconhecido como \w se não for colocada uma flag, que na maioria dos flavors é u. Falaremos sobre flags mais pra frente.
No entanto, nenhuma engine de regex dá match no hífen (-). Então se você quiser que a sua engine dê match em anti-herói, você precisará da seguinte regex

/[\w-]+/u

Assim você engloba tanto todos os caracteres representados por \w e o hífen.
Notem que eu coloquei duas barras (/), uma no começo e uma no final da regex. Esses são os separadores e indicam quando a regex começa e termina. Esses separadores não foram incluídos antes porque não eram necessários para a explicação, mas por conta da flag u, foi preciso incluí-los. Novamente, falaremos sobre flags mais pra frente.

Conclusão

Nessa parte foi a primeira vez que eu falei de flavors de regex. É importante falar sobre isso porque o que a gente chama de regex é na verdade uma especificação. Cada linguagem ou plataforma implementa de uma maneira diferente essa especificação, então agora é a primeira vez que digo uma das regras da regex, que eu mesmo formulei.

Regra 3: conheça muito bem sua engine de regex

Até a próxima.


This content originally appeared on DEV Community 👩‍💻👨‍💻 and was authored by Patrícia Villela


Print Share Comment Cite Upload Translate Updates
APA

Patrícia Villela | Sciencx (2022-09-12T14:00:42+00:00) Expressões Regulares III – âncoras, limites de palavras e caracteres de palavras. Retrieved from https://www.scien.cx/2022/09/12/expressoes-regulares-iii-ancoras-limites-de-palavras-e-caracteres-de-palavras/

MLA
" » Expressões Regulares III – âncoras, limites de palavras e caracteres de palavras." Patrícia Villela | Sciencx - Monday September 12, 2022, https://www.scien.cx/2022/09/12/expressoes-regulares-iii-ancoras-limites-de-palavras-e-caracteres-de-palavras/
HARVARD
Patrícia Villela | Sciencx Monday September 12, 2022 » Expressões Regulares III – âncoras, limites de palavras e caracteres de palavras., viewed ,<https://www.scien.cx/2022/09/12/expressoes-regulares-iii-ancoras-limites-de-palavras-e-caracteres-de-palavras/>
VANCOUVER
Patrícia Villela | Sciencx - » Expressões Regulares III – âncoras, limites de palavras e caracteres de palavras. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2022/09/12/expressoes-regulares-iii-ancoras-limites-de-palavras-e-caracteres-de-palavras/
CHICAGO
" » Expressões Regulares III – âncoras, limites de palavras e caracteres de palavras." Patrícia Villela | Sciencx - Accessed . https://www.scien.cx/2022/09/12/expressoes-regulares-iii-ancoras-limites-de-palavras-e-caracteres-de-palavras/
IEEE
" » Expressões Regulares III – âncoras, limites de palavras e caracteres de palavras." Patrícia Villela | Sciencx [Online]. Available: https://www.scien.cx/2022/09/12/expressoes-regulares-iii-ancoras-limites-de-palavras-e-caracteres-de-palavras/. [Accessed: ]
rf:citation
» Expressões Regulares III – âncoras, limites de palavras e caracteres de palavras | Patrícia Villela | Sciencx | https://www.scien.cx/2022/09/12/expressoes-regulares-iii-ancoras-limites-de-palavras-e-caracteres-de-palavras/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.