Простой Python Regex Find pattern - PullRequest
       1

Простой Python Regex Find pattern

11 голосов
/ 14 февраля 2010

У меня есть предложение. Я хочу найти все вхождения слова, которые начинаются с определенного символа в этом предложении. Я очень новичок в программировании и Python, но из того, что я знаю, это звучит как вопрос Regex.

Что такое код соответствия шаблону, который позволит мне найти все слова, соответствующие моему шаблону?

Большое спасибо заранее,

Брок

Ответы [ 5 ]

17 голосов
/ 14 февраля 2010
import re
print re.findall(r'\bv\w+', thesentence)

напечатает каждое слово в предложении, которое начинается, например, с 'v'.

Использование строкового метода split, как предполагает другой ответ, не идентифицирует слов , а разделяет пробел, который может содержать знаки препинания. Это re решение на основе действительно идентифицирует слова (буквы и цифры, за исключением знаков препинания).

3 голосов
/ 14 февраля 2010

Я вторая рекомендация Dive Into Python. Но это в основном:

m = re.findall(r'\bf.*?\b', 'a fast and friendly dog')
print(m)

\ b означает границу слова, а. *? гарантирует, что мы сохраняем все слово, но отступим, чтобы не зайти слишком далеко (технически,? называется ленивым оператором).

2 голосов
/ 14 февраля 2010

Вы можете сделать (но не использовать re):

matching_words = [x for x in sentence.split() if x.startswith(CHAR_TO_FIND)]

Регулярные выражения тоже работают (см. Другие ответы), но я думаю, что это решение будет немного более читабельным, и как новичок, изучающий Python, вы обнаружите, что понимание списка (как и решение выше) важно для достижения уровня комфорта с.

2 голосов
/ 14 февраля 2010
>>> sentence="a quick brown fox for you"
>>> pattern="fo"
>>> for word in sentence.split():
...     if word.startswith(pattern):
...         print word
...
fox
for

Разделите предложение на пробелы, используйте цикл для поиска шаблона и распечатайте его.

1 голос
/ 14 февраля 2010
import re

s = "Your sentence that contains the word ROAD"
s = re.sub(r'\bROAD', 'RD.', s)

print s

Чтение: http://diveintopython3.org/regular-expressions.html

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