php中PCRE正则表达式分隔符的使用

 
0 1722
泡沫随风飘
2015-08-26 10:05

php中PCRE正则表达式分隔符的使用

PHP5.3.0以前,PHP可使用两套正则表达式规则,一是IEEE制定的POSIX,另一套是PCRE的PERL兼容正则表达式规则。
在php5.3.0后,POSIX被弃用。

PCRE正则表达式需要以分隔符闭合:

1. 分隔符可以使用任意的非字母数字, 非反斜线, 非空的字符,如常用的正斜线(/)、hash符号(#) 以及取反符号(~)。

2. 甚至其首尾可以使用括号(如”()”、”[]”及”{}”)闭合。

3. 但若使用元字符(如+、*、^)作为分隔符,则该正则表达式中不能使用该分隔符(转义的除外)。

实例:


$url="http://baiwar.com/#";

//使用反斜杠'/'作为分隔符

preg_match('/^http:\/\/[a-z]+\.[a-z]{2,6}\/#/',$url,$match);

echo "//使用反斜杠'/'作为分隔符<br>";

echo "preg_match('/^http:\/\/[a-z]+\.[a-z]{2,6}\/#/',$url,$match);的输出结果为:<br>";

echo $match[0]."<hr>";

//使用反斜杠'#'作为分隔符(反斜杠可以不使用转义符,但其中的'#'需要使用转义符)

preg_match('#^http://[a-z]+\.[a-z]{2,6}/\##',$url,$match);

echo "//使用反斜杠'#'作为分隔符(反斜杠可以不使用转义符,但其中的'#'需要使用转义符)<br>";

echo "preg_match('#^http://[a-z]+\.[a-z]{2,6}/\##',$url,$match);的输出结果为:<br>";

echo $match[0]."<hr>";

//使用反斜杠'^'作为分隔符(反斜杠可以不使用转义符),元字符不能使用'^',否则报错

preg_match('^http://[a-z]+\.[a-z]{2,6}/#^',$url,$match);

echo "//使用反斜杠'^'作为分隔符(反斜杠可以不使用转义符),元字符不能使用'^',否则报错<br>";

echo "preg_match('^http://[a-z]+\.[a-z]{2,6}/#^',$url,$match);的输出结果为:<br>";

echo $match[0]."<hr>";

//使用反斜杠'[]'作为分隔符(反斜杠可以不使用转义符)

preg_match('[^http://[a-z]+\.[a-z]{2,6}/#]',$url,$match);

echo "//使用反斜杠'[]'作为分隔符(反斜杠可以不使用转义符)<br>";

echo "preg_match('[^http://[a-z]+\.[a-z]{2,6}/#]',$url,$match);的输出结果为:<br>";

echo $match[0]."<hr>";

输出结果:

//使用反斜杠'/'作为分隔符

preg_match('/^http:\/\/[a-z]+\.[a-z]{2,6}\/#/',http://baiwar.com/#,$match);的输出结果为:

http://baiwar.com/#

//使用反斜杠'#'作为分隔符(反斜杠可以不使用转义符,但其中的'#'需要使用转义符)

preg_match('#^http://[a-z]+\.[a-z]{2,6}/\##',http://baiwar.com/#,$match);的输出结果为:

http://baiwar.com/#

//使用反斜杠'^'作为分隔符(反斜杠可以不使用转义符),元字符不能使用'^',否则报错

preg_match('^http://[a-z]+\.[a-z]{2,6}/#^',http://baiwar.com/#,$match);的输出结果为:

http://baiwar.com/#

//使用反斜杠'[]'作为分隔符(反斜杠可以不使用转义符)

preg_match('[^http://[a-z]+\.[a-z]{2,6}/#]',http://baiwar.com/#,$match);的输出结果为:

http://baiwar.com/#

本文内容由互联网用户自发贡献,版权归作者所有,本站不拥有所有权也不承担相关法律责任。如需转载请按以下形式注明来源: 复制

文章来源:阿里云牛优惠资讯网
文章标题:php中PCRE正则表达式分隔符的使用
原文地址:https://aliyunnew.com/a/54.html
发布时间:2015-08-26 10:05
相关话题
没有相关话题
猜您喜欢
没有相关数据
回帖
  • 抢占沙发~~