Граници на думи в регулярни изрази на 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'