请求对特定正则表达式的解释


Explanation requested for a specific regxp

我在理解"+"号时遇到问题。

这是我的例子:

$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.]+意味着至少应该有一个字母表或一个点。