⊗pyPmREChS 40 of 129 menu

Conjuntos de caracteres em expressões regulares Python

Os grupos de caracteres \d e \w não são muito flexíveis. Mesmo uma tarefa simples, como encontrar todas as letras, mas não os dígitos - não pode ser resolvida por eles. Para tais tarefas, devemos usar colchetes, que representam a operação 'ou'.

Os colchetes substituem um caractere, qualquer um dos listados dentro. Por exemplo, assim: x[abc]x - estamos dizendo que nas extremidades devem haver letras x, e dentro - um caractere: ou 'a', ou 'b', ou 'c'.

Após os colchetes, podemos escrever operadores de repetição. Por exemplo, assim: x[abc]+x - estamos dizendo que dentro dos x pode haver qualquer quantidade de caracteres 'a', 'b' e 'c' - em quaisquer combinações.

Podemos não apenas listar caracteres, mas também criar grupos de caracteres, escrevendo um hífen entre dois caracteres. Por exemplo, assim: [a-d] - obtemos todos os caracteres de 'a' a 'd'.

Vamos ver exemplos.

Exemplo

Neste exemplo, o padrão de pesquisa é o seguinte: entre x qualquer letra de 'a' a 'z':

<+Python+> txt = 'xax xbx xcx x@x' res = re.sub('x[a-z]x', '!', txt) print(res) <-python->

Resultado da execução do código:

'! ! ! x@x'

Exemplo

Neste exemplo, o padrão de pesquisa é o seguinte: entre x qualquer letra de 'a' a 'k':

txt = 'xax xbx xmx x@x' res = re.sub('x[a-k]x', '!', txt) print(res)

Resultado da execução do código:

'! ! xmx x@x'

Exemplo

Neste exemplo, o padrão de pesquisa é o seguinte: entre x qualquer letra de 'A' a 'Z':

txt = 'xax xBx xcx x@x' res = re.sub('x[A-Z]x', '!', txt) print(res)

Resultado da execução do código:

'xax ! xcx x@x'

Exemplo

Neste exemplo, o padrão de pesquisa é o seguinte: entre x qualquer dígito de 0 a 9:

txt = 'xax x1x x3x x5x x@x' res = re.sub('x[0-9]x', '!', txt) print(res)

Resultado da execução do código:

'xax ! ! ! x@x'

Exemplo

Neste exemplo, o padrão de pesquisa é o seguinte: entre x qualquer dígito de 3 a 7:

txt = 'xax x1x x3x x5x x@x' res = re.sub('x[3-7]x', '!', txt) print(res)

Resultado da execução do código:

'xax x1x ! ! x@x'

Exemplo

Neste exemplo, o padrão de pesquisa é o seguinte: entre x qualquer letra de 'a' a 'z' ou dígito de 1 a 9:

txt = 'xax x1x x3x x5x x@x' res = re.sub('x[a-z1-9]x', '!', txt) print(res)

Resultado da execução do código:

'! ! ! ! x@x'

Exemplo

Neste exemplo, o padrão de pesquisa é o seguinte: entre x qualquer letra de 'a' a 'z' ou letra de 'A' a 'Z':

txt = 'xax xBx xcx x5x x@x' res = re.sub('x[a-zA-Z]x', '!', txt) print(res)

Resultado da execução do código:

'! ! ! x5x x@x'

Exemplo

Neste exemplo, o padrão de pesquisa é o seguinte: entre x qualquer letra de 'a' a 'z' ou os dígitos 1, 2:

txt = 'xax xbx x1x x2x x3x' res = re.sub('x[a-z12]x', '!', txt) print(res)

Resultado da execução do código:

'! ! ! ! x3x'

Exemplo

Neste exemplo, o padrão de pesquisa é o seguinte: entre x letras de 'a' a 'z' em quantidade de 1 ou mais:

txt = 'xx xabesx xaadx x123x xa3x' res = re.sub('x[a-z]+x', '!', txt) print(res)

Resultado da execução do código:

'xx ! ! ! x123x xa3x'

Exemplo

Vamos fazer com que a quantidade de letras possa ser zero:

txt = 'xx xabesx xaadx x123x xa3x' res = re.sub('x[a-z]*x', '!', txt) print(res)

Como resultado, obteremos:

'! ! ! ! x123x xa3x'

Exemplo

Dentro dos colchetes também podemos especificar caracteres escapados. Vamos encontrar uma sequência de letras e dígitos, repetida zero ou mais vezes:

txt = 'xx x@x xadx xas12x xa3x' res = re.sub('x[a-z\d]*x', '!', txt) print(res)

Resultado da execução do código:

'! x@x ! ! !'

Exemplo

Se precisarmos especificar outros colchetes, também os escapamos obrigatoriamente:

txt = 'xx xrx xas[]x x3x' res = re.sub('x[a-z\[\]]*x', '!', txt) print(res)

Resultado da execução do código:

'! ! ! x3x'

Problemas práticos

Dada a string:

txt = 'aba aea aca aza axa'

Escreva uma expressão regular que encontre pelo seguinte padrão: nas extremidades há letras 'a', e entre elas - a letra 'b', 'e' ou 'x'.

Dada a string:

txt = 'a1a a3a a7a a9a aba'

Escreva uma expressão regular que encontre pelo seguinte padrão: nas extremidades há letras 'a', e entre elas - um dígito de 3 a 6.

Dada a string:

txt = 'aba aea afa aha aga'

Escreva uma expressão regular que encontre pelo seguinte padrão: nas extremidades há letras 'a', e entre elas - uma letra de 'a' a 'g'.

Dada a string:

txt = 'aba aea afa aha aga'

Escreva uma expressão regular que encontre pelo seguinte padrão: nas extremidades há letras 'a', e entre elas - uma letra de 'a' a 'f' e de 'j' a 'z'.

Dada a string:

txt = 'aAa aea aEa aJa a3a'

Escreva uma expressão regular que encontre pelo seguinte padrão: nas extremidades há letras 'a', e entre elas - uma letra de 'a' a 'f' e de 'A' a 'D'.

Dada a string:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Escreva uma expressão regular que encontre pelo seguinte padrão: nas extremidades há letras 'a', e entre elas - letras latinas minúsculas, sem afetar as demais.

Dada a string:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Escreva uma expressão regular que encontre pelo seguinte padrão: nas extremidades há letras 'a', e entre elas - letras latinas minúsculas e maiúsculas, sem afetar as demais.

Dada a string:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Escreva uma expressão regular que encontre pelo seguinte padrão: nas extremidades há letras 'a', e entre elas - letras latinas minúsculas e dígitos, sem afetar as demais.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar