我在理解"+"号时遇到问题。
这是我的例子:
$array = array("123 Main St.");
$match = preg_grep("%^'d{1,5}'s[A-Za-z.]+'s[A-Za-z.]{2,7}$%",$array);
foreach($match as $value) {
echo "<pre>" .$value . "<br>";
}
所以基本上这完全有效,但我不明白"+"号的工作。 如果我删除它,它不起作用。
正
则表达式中的+
是匹配前面的组 OR 模式的 1 个或多个。
在您的示例中:[A-Za-z.]+
将匹配 1 个或多个英文字母(不区分大小写)或文字点。
阅读有关正则表达式的更多信息
+
等于{1,}
表示 1 或更多
+
表示表达式的至少一次或多次出现。
在您的情况下[A-Za-z.]+
意味着至少应该有一个字母表或一个点。