【发布时间】:2010-12-04 06:55:25
【问题描述】:
我学习 PHP 已经有一段时间了,我想澄清一下。
我看到preg_match 函数使用不同的分隔符号调用,例如:
preg_match('/.../')
和
preg_match('#...#')
今天我还看到% 被使用。
我的问题分为两部分:
什么字符都可以用?
有标准吗?
【问题讨论】:
标签: php regex preg-match delimiter
我学习 PHP 已经有一段时间了,我想澄清一下。
我看到preg_match 函数使用不同的分隔符号调用,例如:
preg_match('/.../')
和
preg_match('#...#')
今天我还看到% 被使用。
我的问题分为两部分:
什么字符都可以用?
有标准吗?
【问题讨论】:
标签: php regex preg-match delimiter
任意
可以用作分隔符。
如果您使用 开头 标点符号作为开头分隔符:
( { [ <
那么它们对应的结束标点符号必须作为结束分隔符:
) } ] >
最常见的分隔符是/。
但如果/ 是正则表达式的一部分,有时建议使用不同的分隔符。
例子:
// check if a string is number/number format:
if(preg_match(/^\d+\/\d+$/)) {
// match
}
由于正则表达式包含分隔符,您必须转义在正则表达式中找到的分隔符。
为了避免转义,最好选择一个不同的分隔符,一个在正则表达式中不存在的分隔符,这样你的正则表达式将更短更清晰:
if(preg_match(#^\d+/\d+$#))
【讨论】: