匹配2个或更多单词的正则表达式

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

我有一个正则表达式,它试图匹配两个或更多个单词,但它不能正常工作。我做错了什么?

$string = "i dont know , do you know?";
preg_match("~([a-z']+){2,}~", $string, $match);

echo "<pre>";
print_r($match);
echo "</pre>";

预期结果:

数组(我不知道)

实际结果:

数组()


解决方案

这将匹配正好包含2个或更多单词的字符串:

/([a-zA-Z]+s?){2,}/g您可以进行http://www.regexr.com/测试

PHP:

$string = "i dont know , do you know?";
preg_match("/([a-zA-Z]+s?){2,}/", $string, $match);

echo "<pre>";
print_r($match);
echo "</pre>";

注意:请勿在PHP代码中使用/g

相关文章