Обозначение границ слова с помощью регулярных выражений в Python
Так, есть, условно, задача: дана строка 'XABADXJSADZFNEFEXNNZFWUFNWFNXUNNINNUZAFE' (для примера, только заглавные латинские буквы). Необходимо вывести все подпоследовательности, начинающиеся на X и заканчивающиеся Z: XJSADZ, XNNZ, XUNNINNUZ, При этом между X и Z не может быть X, т.е. строка XABADXJSADZ не должна попасть в вывод Заранее спасибо!
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
В условии регулярки указываем, что ожидаем X<любые символы кроме X>Z
import re
text = 'XABADXJSADZFNEFEXNNZFWUFNWFNXUNNINNUZAFE'
print(re.findall('X[^X]+Z', text))
# ['XJSADZ', 'XNNZ', 'XUNNINNUZ']