我正在使用此模式检查字符串中是否存在某些字词:
/\b(apple|ball|cat)\b/i
它适用于此字符串cat ball apple
但不在no spaces catball smallapple
如何修改模式,使单词即使与其他单词组合,即使没有空格也能匹配?
答案 0 :(得分:2)
从正则表达式中删除\b
。 \b
将匹配单词边界,并且您希望匹配不是完整单词的字符串。
您也可以删除捕获组(由()
表示),因为它不再需要。
使用
/apple|ball|cat/i
$re = "/apple|ball|cat/i";
$str = "no spaces catball smallapple";
preg_match_all($re, $str, $matches);
print_r($matches[0]);
结果:
[0] => cat
[1] => ball
[2] => apple