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 '!':

pythontxt = 'aaa aaa aaa'
print(re.sub('\\b', '!', txt))

O resultado da execução do código:

python'!aaa! !aaa! !aaa!'

Exemplo

Vamos adicionar o símbolo '!' nos espaços entre as letras:

pythontxt = 'aaa aaa aaa'
print(re.sub('\\B', '!', txt))

O resultado da execução do código:

python'a!a!a a!a!a a!a!a'

Problemas práticos

Задание 1

Dada a string:

pythontxt = 'abc def xyz'

Escreva uma expressão regular que transforme esta string na seguinte:

python'#abc# #def# #xyz#'
Задание 2

Dada a string:

pythontxt = 'abc def xyz'

Escreva uma expressão regular que transforme esta string na seguinte:

python'a+b+c d+e+f x+y+z'