我已经学习PHP一段时间了,我想要澄清一下。
我已经看到使用不同的分隔符号调用的preg_match
函数,如:
preg_match('/.../')
和
preg_match('#...#')
今天我也看到%
被使用了。
我的问题是两部分:
可以使用哪些字符?
是否有标准?
答案 0 :(得分:4)
任何
可以用作分隔符。
此外,如果您使用开头标点符号作为开头分隔符:
( { [ <
然后他们相应的结束标点符号必须用作结束分隔符:
) } ] >
最常见的分隔符是/
。
但是,如果/
是正则表达式的一部分,有时会建议使用不同的分隔符。
示例:
// check if a string is number/number format:
if(preg_match(/^\d+\/\d+$/)) {
// match
}
由于正则表达式包含分隔符,因此必须转义在正则表达式中找到的分隔符。
为了避免转义,最好选择一个不同的分隔符,一个在正则表达式中不存在的分隔符,这样你的正则表达式将更短更清洁:
if(preg_match(#^\d+/\d+$#))