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

标签 python regex string python-3.x

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

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

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

这是可行的,但是我希望它仅在字符串包含正则表达式中的单词时才匹配字符串。例如:

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

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

我该如何实现这一目标?

谢谢

最佳答案

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

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

Regex101 Example

关于python - 仅匹配字符串中的单词列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44104932/

相关文章:

java - 使用 split() 在 Java 中查找特定行

python - 值错误 : zero length field name in format with read and write

regex - Linux Bash 正则表达式,从 SNMPGet 输出中检索数据

Javascript RegExp 测试类名

Javascript正则表达式用实际变量值替换字符串变量

正则表达式重复搜索被通用模式包围的模式

java - 将 InputStream 对象转换为 String 的最佳方法

python - 导入和使用 keras/tensorflow 时出现 ModuleNotFoundError

python - 为什么 RANSAC 回归器结果的变化与输入无关?

python - Python正则表达式删除空格并在空格所在的位置大写字母?