⊗pyPmREChG 39 of 129 menu

Grupos de caracteres em expressões regulares Python

Existem comandos especiais que permitem selecionar grupos inteiros de caracteres de uma vez. O comando \d significa um dígito de 0 a 9. O comando \w representa um dígito, uma letra latina ou o sinal de sublinhado. O comando \s representa um espaço ou um caractere de espaço em branco: espaço, quebra de linha, tabulação. É possível inverter o significado do comando, escrevendo com letra maiúscula: por exemplo, se \d é um dígito, então \D é um não dígito.

Exemplo

Vamos encontrar todos os dígitos:

txt = '1 12 123' res = re.sub('\d', '!', txt) print(res)

Resultado da execução do código:

'! !! !!!'

Exemplo

Os operadores de repetição consideram os comandos de grupo como um todo, ou seja, parênteses de agrupamento não são necessários. No próximo exemplo, o padrão de busca se parece com isto: dígito de 0 a 9 uma ou mais vezes:

txt = '1 12 123 abc @@@' res = re.sub('\d+', '!', txt) print(res)

Resultado da execução do código:

'! ! ! abc @@@'

Exemplo

No próximo exemplo, o padrão de busca se parece com isto: qualquer coisa uma ou mais vezes, mas não um dígito de 0 a 9:

txt = '123abc3@@' res = re.sub('\D+', '!', txt) print(res)

Resultado da execução do código:

'123!3!'

Exemplo

Neste exemplo, o padrão de busca se parece com isto: caractere de espaço em branco uma vez:

txt = '1 12 123 abc @@@' res = re.sub('\s', '!', txt) print(res)

Resultado da execução do código:

'1!12!123!abc!@@@'

Exemplo

Neste exemplo, o padrão de busca se parece com isto: NÃO é um caractere de espaço em branco uma ou mais vezes. Todas as substrings, separadas por espaços, serão substituídas por '!':

txt = '1 12 123 abc @@@' res = re.sub('\S+', '!', txt) print(res)

Resultado da execução do código:

'! ! ! ! !'

Exemplo

Neste exemplo, o padrão de busca se parece com isto: dígito ou letra uma ou mais vezes. Todas as substrings, consistindo de dígitos e letras, serão substituídas por '!':

txt = '1 12 123a Abc @@@' res = re.sub('\w+', '!', txt) print(res)

Resultado da execução do código:

'! ! ! ! @@@'

Exemplo

Neste exemplo, o padrão de busca se parece com isto: NÃO é um dígito E NÃO é uma letra uma ou mais vezes. Esta definição no nosso caso inclui '@@@' e todos os espaços (eles também não são dígitos nem letras). Preste atenção ao fato de que no final há um '!' - nele foi transformada a string ' @@@' - com um espaço na frente:

txt = '1 12 123 Abc @@@' res = re.sub('\W+', '!', txt) print(res)

Resultado da execução do código:

'1!12!123!Abc!'

Problemas práticos

Dada a string:

txt = 'a1a a2a a3a a4a a5a aba aca'

Escreva uma expressão regular que encontre as strings, nas quais nas extremidades existem letras 'a', e entre elas um único dígito.

Dada a string:

txt = 'a1a a22a a333a a4444a a55555a aba aca'

Escreva uma expressão regular que encontre as strings, nas quais nas extremidades existem letras 'a', e entre elas qualquer quantidade de dígitos.

Dada a string:

txt = 'aa a1a a22a a333a a4444a a55555a aba aca'

Escreva uma expressão regular que encontre as strings, nas quais nas extremidades existem letras 'a', e entre elas qualquer quantidade de dígitos (incluindo também zero dígitos, ou seja, a string 'aa').

Dada a string:

txt = 'avb a1b a2b a3b a4b a5b abb acb'

Escreva uma expressão regular que encontre strings do seguinte tipo: nas extremidades existem letras 'a' e 'b', e entre elas - não é um número e nem um espaço.

Dada a string:

txt = 'ave a#b a2b a$b a4b a5b a-b acb'

Escreva uma expressão regular que encontre strings do seguinte tipo: nas extremidades existem letras 'a' e 'b', e entre elas - não é uma letra, não é um dígito e nem um espaço.

Dada a string:

txt = 'ave a#a a2a a$a a4a a5a a-a aca'

Escreva uma expressão regular que substitua todos os espaços por '!'.

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