正则表达式匹配两个单词

时间:2019-05-15 07:30:06

标签: python regex

我正在尝试匹配包含以下两个单词的所有语句

ALPHA和BETA

我使用的正则表达式是

(?=.*ALPHA)(?=.*BETA)

我理解这意味着要在任何字符中查找任何数字,以检查给定字符串中是否存在ALPHA和BETA。

如果将上面的代码更改为以下代码,有人可以告诉我是否会有任何后果。

(?=.*?ALPHA)(?=.*?BETA)

这个额外的问号会做什么?

我的输入字符串将类似于“ ALPHA | checkagainst |(BETA_val)”。 我写的正则表达式应该针对上述输入返回true,因为单词ALPHA和BETA都存在

2 个答案:

答案 0 :(得分:2)

与贪婪和非贪婪量词有关。问号表示匹配项是非贪婪的,并且匹配的字符越少越好。

参考:Quantifiers cheat sheet

答案 1 :(得分:1)

您在这里:

32.00

DEMO