• 微信:
  • hai764003
  • QQ:
  • 511211014
  • E-mail:
  • jaquery@163.com

案例总数51

访问总数312333

收藏总数310864

正则表达式,正则表达式基础整理!返回列表

上传时间:2015-02-02 内容关键字:正则表达式,正则表达式基础整理!

()是一个子模式按顺序放到数组的其它元素中去。


比如:$pattern = "/(\d{4}\W\d{2}\W\d{2})\s+(\d{2}\W\d{2})\s+(pm|am)/i";


4. 可以取消子模式,就将()作为大原子或改变优先级使用, 在括号中最前面使用"?:"就可以取消这 个()表示的子模式.

比如:不想要pm|am的子模式,但是这个括号又必须用,那么可以用(?:  )来取消该子模式

$pattern = "/(\d{4}\W\d{2}\W\d{2})\s+(\d{2}\W\d{2})\s+(?:pm|am)/i";


5. 反向引用, 可以在模式中直接将子模式取出来,再作为正则表达式模式的一部分, 如果是在    正则表达式像替换函数preg_replace函数中, 可以将子模式取出, 在被替换的字符串中使用

比如: $pattern = "/\d{4}(\W)\d{2}\\1\d{2}\s+(\d{2}\W\d{2})\s+pm/i"; 只能用\\1

$pattern = "/\d{4}(\W)\d{2}${1}\d{2}\s+(\d{2}\W\d{2})\s+pm/i"; 语法错误,不可以用

$subject = "tody is 2014-02-24  11:14 pm..."; 匹配

$subject = "tody is 2014-02/24  11:14 pm..."; 不匹配

如果使用子模式,则\\1(\W)的匹配内容必须一致


注意:可以在模式中直接将子模式取出来,再作为正则表达式模式的一部分的时候,只能使用\\1,

\\2 等等,但是不能使用${1} ${2}${n}只可以使用在不是本身正则表达中的时候。


\1 取第一个子模式、 \2取第二个子模式, ....  \5 (注意是单引号还是双引号引起来的正则)


"\\1"   '\1'    ${1}


4. 模式修正符号 i u

"/ /模式修正符"

1. 就是几个字母

2. 可以一次使用一个,每一个具一定的意义, 也可以连续使用多个

3. 是对整个正则表达式调优使用, 也可以说是对正则表达式功能的扩展


"/abc/" 只能匹配小写字母 abc

"/abc/i" 可以不区分大小写匹配 ABC abc Abc ABc AbC


i : 表示在和模式进行匹配进不区分大小写

m : 默认情况,将字符串视为一行 ^  $ 视为多行后,任何一行都可以以正则开始或结束

比如:

$pattern = "/^abc/im";

 

小海哥推荐你看: 博客园  php教程分享网站  phpmywind  脚本之家