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