#regex #python-3.x
#регулярное выражение #python-3.x
Вопрос:
Итак, я хотел бы повторно реализовать todo.txt в python в качестве учебного проекта. Теперь я хотел бы (для тестирования), чтобы, если я добавлю, скажем, Задать вопрос в SO StackOverflow, я хотел бы перепечатать StackOverflow (НЕ задавать вопрос в SO StackOverflow, поскольку регулярные выражения — это сложная часть, остальное — сливочный сыр (остальная часть owl).
Я пытался использовать W для этого, но все, что Python выдает мне, это [] .
import re
todo = input("")
plusregex = re.findall("W ", todo)
print(plusregex)
Спасибо вам за все, сообщество SO!
Комментарии:
1. Вам следует либо использовать lookbehind, либо capture groups (которые являются более гибкими).
2. Если вы пытаетесь извлечь «теги», может быть, поможет регулярное выражение
[^s]
? (Буквенный плюс, за которым следует что угодно, кроме повторяющегося пробела)3.
re.findall(r"w ", todo)
?
Ответ №1:
Регулярное выражение [^ws]w
помогло бы захватить слова, начинающиеся не с буквенно-цифровых символов:
import re
todo = "Ask a Question on SO StackOverFlow test"
plusregex = re.findall("[^ws]w ", todo)
print(plusregex)
который выводит: [' StackOverFlow', '@python', '!test']