十一月
05
2015

笔记014 PHP正则表达式的分隔符

写在前面

Hy369平时使用的 PHP 正则分隔符是斜杠(/,forward slash)。甚至于一度以为PHP的正则分隔符就只有这个。

嘿嘿,直到今日,看到一个颇为奇怪的以 # 号作为正则分隔符的例子。看到这个”奇怪“的正则表达式,我忍不住找度娘问了一下。结果就是:我愣住了。

真的,直到这一刻,我才直到,PHP下的正则分隔符,其实并非只能是 / 的。

好了,接下来记录一下这个让 Hy369 颇为惊喜的知识点吧。

PHP 正则表达式的分隔符

PHP中,正则表达式的分隔符,可以是除了:字母、数字、反斜杠、空白字符 以外的任何字符。

经常使用的分隔符有:斜杠(/,forward slash),井号(#,hash sign)和波浪号(~,tilde)

也就是说,可以是下面这些模式:

/test string/

#^[^0-9]Hy369$#

+php blog+

%[A-Za-z0-9_-]%

要点说明

如果在某个模式中,正则表达式中需要使用到这个模式中的分隔符,则需要在这个分隔符前面添加反斜杠。例如:

/http:\/\//

在这种情况下,整个正则表达式显得不是很直观。这个时候,就可以考虑换一个分隔符,用以增强正则表达式的可读性了。因此,上面的正则表达式可以替换为这样:

#http://#

非特殊注明博文为 爱PHP吧(www.iphp8.com)原创内容,转载请注明原文地址:http://www.iphp8.com/?post=63

评论

发表评论:

(选填)

(选填)