PHP-解释REGEX表达式



有人能帮我理解下面的php正则表达式吗。preg_match("|store:(.*)|", $k, $matches)在PHP正则表达式中,"|"代表什么?

...
$storevals = array();
foreach ($item as $k => $v)
{
    if (preg_match("|store:(.*)|", $k, $matches))
    {
        $storevals[$matches[1]] = $v;
    }
}
...

此函数之前的调用用于将CSV文件转换为数组($item),其中CSV标头是数组的键。基本上,我正在尝试弄清楚CSV文件的格式。

提前谢谢。

这里有一个全面的解释-

store:从字面上匹配字符"store:"(区分大小写)第一个捕获组(.*)(用括号分组).*匹配任何字符(换行符除外)量化器:*在零次和无限次之间,尽可能多次,根据需要回馈[贪婪]

管道|是正则表达式的分隔符。

上述代码中的

|充当分隔符,而不是正则表达式的一部分。当使用PCRE函数时,需要用分隔符将模式括起来。

有关PHP分隔符的更多信息,请访问此处。

管道可以用作regex分隔符,这里就是您的情况。

此正则表达式类似于o:

/store:(.*)/

这意味着,在store: 之后搜索0+个字符

最新更新