PHP preg_Match和"运算符

2022-03-29 00:00:00 regex php preg-match

我使用"OR"运算符"|"匹配$NAME变量的一个单词

$name = "one five six two";
if (preg_match('/(one|two)/i', $name)) {return true;}

如果单词位于$name内部,我应该将哪个运算符与preg_Match一起使用才能具有"and"条件?

if (preg_match('/(two "AND" five)/i', $name)) {return true;}

解决方案

如果您仍要使用正则表达式,则需要正向查找:

if (preg_match('/^(?=.*one)(?=.*two)/i', $name)) {return true;}

不推荐用于简单的东西(有点夸张),对于更复杂的东西它会变得混乱...

相关文章