仅匹配字符串中的单词列表

时间:2017-05-22 04:59:19

标签: python regex string python-3.x

我有一个单词列表,我正在创建一个正则表达式:

((word1)|(word2)|(word3){1,3})

基本上我想匹配一个包含1到3个单词的字符串。

这有效,但是如果字符串包含来自正则表达式的单词,我希望它匹配字符串 。例如:

((investment)|(property)|(something)|(else){1,3})

这应匹配字符串investmentproperty,但不匹配字符串abcinvestmentproperty。同样,它应匹配somethinginvestmentproperty,因为所有这些单词都在正则表达式中。

我如何实现这一目标?

由于

1 个答案:

答案 0 :(得分:4)

您可以使用$...^与带有(^)和($)的字符串匹配,以标记要匹配的字符串的开头和结尾。另请注意,您需要在单词组周围添加(...)以匹配{1,3}

^((investment)|(property)|(something)|(else)){1,3}$

Regex101 Example