正则表达式:如何以任何顺序匹配组中的每个单词?

因此,假设我要搜索单词hamburgersteak。仅当找到两个单词(以任一顺序)时,正则表达式才应匹配/返回true。即

The将返回true

I like hamburgers and steak
I like steak and hamburgers

由于只有一个单词被匹配,它们将返回false

I like hamburgers
I like stake

希望有人可以帮助我解决这个问题。理想情况下,有一个简单的解决方案,因为这些查询将由PHP生成,并且用户可以输入无限的单词进行搜索(与本示例相反,该示例仅使用2个),因此可能难以实现复杂的解决方案/调试

无论如何,在此先感谢您的帮助:)

xin34140 回答:正则表达式:如何以任何顺序匹配组中的每个单词?

尝试以下模式:

^.*\b(?:hamburgers\b.*\bsteak|steak\b.*\bhamburgers)\b.*$

这将以任意顺序匹配关键字hamburgerssteak

Demo

本文链接:https://www.f2er.com/3130520.html

大家都在问