我正在尝试匹配包含以下两个单词的所有语句
ALPHA和BETA
我使用的正则表达式是
(?=.*ALPHA)(?=.*BETA)
我理解这意味着要在任何字符中查找任何数字,以检查给定字符串中是否存在ALPHA和BETA。
如果将上面的代码更改为以下代码,有人可以告诉我是否会有任何后果。
(?=.*?ALPHA)(?=.*?BETA)
这个额外的问号会做什么?
我的输入字符串将类似于“ ALPHA | checkagainst |(BETA_val)”。 我写的正则表达式应该针对上述输入返回true,因为单词ALPHA和BETA都存在
答案 0 :(得分:2)
与贪婪和非贪婪量词有关。问号表示匹配项是非贪婪的,并且匹配的字符越少越好。
答案 1 :(得分:1)