我在PHP上看到了一些关于带有"@"的正则表达式的例子,比如:
preg_match ("@[a-zA-Z0-9]@i", $value, $occurrences);
我可以看到,这统计了在$value
变量中找到的正则表达式的匹配数,但我想确定"@"是否用于这种特定情况,或者"@"在正则表达式中的主要函数是什么?。
你能帮我吗?
这些是正则表达式模式的自定义分隔符。最常见的是/
,在您的情况下,它们被更改为@
。
自定义分隔符的好处与转义有关。这最好通过例子来说明。
考虑:
preg_match ("/Some'/Path/i", $value, $occurrences);
对比:
preg_match ("#Some/Path#i", $value, $occurrences);
然而,就我个人而言,我倾向于避免它们,因为它使正则表达式模式,嗯,自定义。只需使用标准的/
分隔符。