Fronteiras de palavras em expressões regulares do Python
Usando o comando '\\b' podemos
acessar a fronteira de uma palavra, e com
o comando '\B' ou '\\B' -
acessar o que não é uma fronteira. Preste atenção que, no
caso da definição de fronteiras de palavras em Python,
o escape funciona estritamente com
duas barras invertidas, embora para outros comandos
seja permitida uma única barra. Vamos ver o
funcionamento desses comandos com exemplos.
Exemplo
Vamos envolver cada palavra com o símbolo
'!':
txt = 'aaa aaa aaa'
print(re.sub('\\b', '!', txt))
O resultado da execução do código:
'!aaa! !aaa! !aaa!'
Exemplo
Vamos adicionar o símbolo '!' nos
espaços entre as letras:
txt = 'aaa aaa aaa'
print(re.sub('\\B', '!', txt))
O resultado da execução do código:
'a!a!a a!a!a a!a!a'
Problemas práticos
Dada a string:
txt = 'abc def xyz'
Escreva uma expressão regular que transforme esta string na seguinte:
'#abc# #def# #xyz#'
Dada a string:
txt = 'abc def xyz'
Escreva uma expressão regular que transforme esta string na seguinte:
'a+b+c d+e+f x+y+z'