我在PHP上看过一些关于带有“@”的正则表达式的例子,如下所示:
preg_match ("@[a-zA-Z0-9]@i", $value, $occurrences);
我可以看到这计算了$value
变量中找到的正则表达式的匹配数,但我想确定“@”是否用于此特定情况或主要是什么正则表达式中“@”的功能?。
你能帮我吗?
答案 0 :(得分:7)
正则表达式模式的custom delimiters。最常见的是/
,在您的情况下,它们已更改为@
。
自定义分隔符的好处与转义有关。最好以示例的方式显示。
考虑:
preg_match ("/Some\/Path/i", $value, $occurrences);
对战:
preg_match ("#Some/Path#i", $value, $occurrences);
然而,就个人而言,我倾向于避免它们,因为它使正则表达式模式,自定义。只需使用标准的/
分隔符。