我想测试一个字符串的所有模式匹配的几个单词是单词的开头。如果不是所有模式都匹配,我想将查询视为False。单词测试的开始正在起作用,但是我得到了重复的匹配,我觉得很惊讶,因为一旦找到一个单词匹配,就不会再对该单词进行测试。也许我需要以某种方式将测试限制为一场比赛。PHP preg_match_all与多个字
我想象,如果我是测试3分的话,那么一个成功的测试将返回3.
返回值是在误导你可以从例子中看到。我获得了一个正面的价值,这比我正在测试的单词数量还要多。在不匹配组的情况下,由于某些单词的多次匹配,我仍然得到比要测试的单词数更高的值。
我想我还没有完全理解某些东西或者某种方式,我需要强制一个AND的情况。
我已经搜索了答案,但似乎没有特定于我的问题。
$image = 'After A!!BC DEF hello bugggy bad Sled bob bobert robob Triumph 2000 Roadster clearing bobby Sledmere^August 2014^error';
$result = preg_match_all($query, $image, $matches);
$query = '#\b(bob|bug|sled)#i'; // ALL MATCH
Return Value 6 [ bob x 3, bug x 1, sled x 1]
$query = '#\b(bob|bug|led)#i'; // Two matches 'led' fails
Return Value 4 [ bob x 3, bug x 1, led x 0]
如果我没有理解好要检查所有的话只存在一个时间? –
不,我想知道模式中的所有单词至少匹配一次。 – mcl