Python Regex: поиск всех возможных совпадений для указанных c ключевых слов - PullRequest
0 голосов
/ 21 марта 2020

Я новичок в python и пытаюсь найти лучший способ поиска некоторых конкретных c ключевых слов "скоро", "в разработке", "страница не найдена" и "запрещена". Мне нужно найти все возможные хиты для этого примера строки: «Скоро», «Скоро», «Сообщество» и т. Д. c.

Я пробовал:

re.compile("^coming soon$", re.I)) 

и

re.compile("coming soon", re.I))

или

re.compile("\W*((?i)coming soon(?-i))\W*", re.I))

, но пока безуспешно. Может ли кто-нибудь помочь мне с этим? Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 22 марта 2020

Еще один вариант. Вы можете использовать re.findall , а также изменить сам шаблон регулярного выражения, чтобы найти все совпадения, используя регистронезависимое совпадение (?i):

words = re.findall("(?i)coming soon", text)
print(words)

Будет выведено:

['coming soon', 'coming soon', 'Coming Soon', 'coMInG SoOn']

Кроме того, вы можете искать все 4 фразы одновременно:

words = re.findall("(?i)coming soon|under construction|page not found|forbidden", text)
print(words)

Как общая рекомендация, при использовании регулярных выражений вы всегда можете проверить свое утверждение с помощью онлайн-тестера регулярных выражений . Надеюсь, поможет. Удачи!

0 голосов
/ 21 марта 2020

re.findall - очень полезная функция в мире регулярных выражений python.

text="I'm new to python and trying to find a best way to search for some specific 
keywords 'coming soon', 'under construction', 'page not found' and 'forbidden'. I need 
to find all possible hits for those strings example: 'coming soon', 'Coming Soon', 
'coMInG SoOn' etc."

import re 
Hits=re.findall("(coming soon)", text, re.I)
print(Hits)

Вывод выглядит следующим образом:

['coming soon', 'coming soon', 'Coming Soon', 'coMInG SoOn']

Python Документация- https://docs.python.org/3/library/re.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...