У меня есть список слов и строка. Я хочу взять каждое слово в списке слов и проверить, соответствует ли оно любому из слов в строке.Как проверить строку для определенных слов без получения совпадений для частей слов в строке в Python?
словник = [ 'я', 'любовь', 'этот', 'телефон', 'удивительный', 'быть']
строку = "любовь удивительно большой лучший хороший хороший"
I есть следующий код:
for word in wordsList:
posMatch = re.search(word, string)
if posMatch:
print (posMatch.group())
Таким образом, в этом случае выход:
i
love
amazing
be
Но мне нужен выход быть:
love
amazing
Принимает «i» и «be» в качестве соответствия, потому что они являются частью некоторых слов в строке. Я мог бы разместить пробел до и после регулярного выражения, но я не уверен, как это сделать. У кого-нибудь есть хороший способ сделать это? Заранее спасибо.
использовать '\ b' regexp для соответствия границам слов. – Barmar
Если вы делаете это для производственного кода, вы можете взглянуть на [nltk] (http://www.nltk.org/) –
благодарность @Barmar. Но можете ли вы показать мне, как написать код для этого? – modarwish