Границы слов в регулярках 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'