Границы слов в регулярках Python
С помощью команды '\\b'
можно
обратиться к границе слова, а с помощью
команды '\B'
или '\\B'
- не
к границе. Обратите внимание на то, что в
случае определения границы слов в Python
работает экранирование строго с помощью
двух слешей, хотя для других команд
допускается один слеш. Давайте посмотрим
работу этих команд на примерах.
Пример
Давайте обернем каждое слово в символ
'!'
:
txt = 'aaa aaa aaa'
print(re.sub('\\b', '!', txt))
Результат выполнения кода:
'!aaa! !aaa! !aaa!'
Пример
Давайте добавим символ '!'
в
промежутки между буквами:
txt = 'aaa aaa aaa'
print(re.sub('\\B', '!', txt))
Результат выполнения кода:
'a!a!a a!a!a a!a!a'
Практические задачи
Дана строка:
txt = 'abc def xyz'
Напишите регулярку, которая сделает из этой строки следующую:
'#abc# #def# #xyz#'
Дана строка:
txt = 'abc def xyz'
Напишите регулярку, которая сделает из этой строки следующую:
'a+b+c d+e+f x+y+z'