Grupos de caracteres dentro de conjuntos em expressões regulares do Python
Os grupos de caracteres \d, \D,
\w, \W, \s, \S
dentro de [] denotarão grupos,
ou seja, continuarão sendo comandos.
Exemplo
Neste exemplo, o padrão de busca é
o seguinte: entre 'x' qualquer dígito, ou
letra de 'a' a 'f':
txt = 'xax xbx x1x x2x xhx x@x'
res = re.sub('x[\da-f]x', '!', txt)
print(res)
Resultado da execução do código:
'! ! ! ! xhx x@x'
Exemplo
Neste exemplo, o padrão de busca é
o seguinte: letra 'x', depois não é dígito,
não é ponto, e não é letra minúscula do alfabeto latino,
depois letra 'z':
txt = 'xaz x1z xAz x.z x@z'
res = re.sub('x[^\d.a-z]z', '!', txt)
print(res)
Resultado da execução do código:
'xaz x1z ! x.z !'
Problemas Práticos
Escreva uma expressão regular que encontre strings
com o padrão: dígito ou ponto de 1
a mais vezes.
Escreva uma expressão regular que encontre strings
com o padrão: não é dígito e não é letra de
'a' a 'g' de 3 a
7 vezes.