AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > PHP编程

PHP正则表达式语法详解

51自学网 2016-09-17 http://www.wanshiok.com
 
 
  x|y 
  匹配 x 或 y。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood" 或 "food"。 
 
  [xyz] 
  字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。 
 
  [^xyz] 
  负值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'。 
 
  [a-z] 
  字符范围。匹配指定范围内的任意字符。例如,'[a-z]' 可以匹配 'a' 到 'z' 范围内的任意小写字母字符。 
 
  [^a-z] 
  负值字符范围。匹配任何不在指定范围内的任意字符。例如,'[^a-z]' 可以匹配任何不在 'a' 到 'z' 范围内的任意字符。 
 
  /b 
  匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er/b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。 
 
  /B 
  匹配非单词边界。'er/B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。 
 
  /cx 
  匹配由x指明的控制字符。例如, /cM 匹配一个 Control-M 或回车符。 x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符。 
 
  /d 
  匹配一个数字字符。等价于 [0-9]。 
 
  /D 
  匹配一个非数字字符。等价于 [^0-9]。 
 
  /f 
  匹配一个换页符。等价于 /x0c 和 /cL。 
 
  /n 
  匹配一个换行符。等价于 /x0a 和 /cJ。 
 
  /r 
  匹配一个回车符。等价于 /x0d 和 /cM。 
 
  /s 
  匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ /f/n/r/t/v]。 
 
  /S 
  匹配任何非空白字符。等价于 [^ /f/n/r/t/v]。 
 
  /t 
  匹配一个制表符。等价于 /x09 和 /cI。 
 
  /v 
  匹配一个垂直制表符。等价于 /x0b 和 /cK。 
 
  /w 
  匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。 
 
  /W 
  匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。 
 
  /xn 
  匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如, '/x41' 匹配 "A"。'/x041' 则等价于 '/x04' & "1"。正则表达式中可以使用 ASCII 编码。. 
 
  /num 
  匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。例如,'(.)/1' 匹配两个连续的相同字符。 
 
  /n 
  标识一个八进制转义值或一个后向引用。如果 /n 之前至少 n 个获取的子表达式,则 n 为后向引用。否则,如果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。 
 
  /nm 
  标识一个八进制转义值或一个后向引用。如果 /nm 之前至少有is preceded by at least nm 个获取得子表达式,则 nm 为后向引用。如果 /nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的后向引用。如果前面的条件都不满足,若 n 和 m 均为八进制数字 (0-7),则 /nm 将匹配八进制转义值 nm。 
 
  /nml 
  如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0-7),则匹配八进制转义值 nml。 
 
  /un 
  匹配 n,其中 n 是一个用四个十六进制数字表示的 Unicode 字符。例如, /u00A9 匹配版权符号 (?)。
 
 
常用例子:
引用
配中文字符的正则表达式: [/u4e00-/u9fa5]
匹配双字节字符(包括汉字在内):[^/x00-/xff]
匹配空行的正则表达式:/n[/s| ]*/r
匹配HTML标记的正则表达式:/<(.*)>.*<///1>|<(.*) //>/
匹配首尾空格的正则表达式:(^/s*)|(/s*$)
匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*
匹配网址URL的正则表达式:^[a-zA-z]+://(//w+(-//w+)*)(//.(//w+(-//w+)*))*(//?//S*)?$
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{ 4,15 }$
匹配国内电话号码:(/d{ 3 }-|/d{ 4 }-)?(/d{ 8 }|/d{ 7 })?
匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$
 


说明
:本教程来源互联网或网友上传或出版商,仅为学习研究或媒体推广,wanshiok.com不保证资料的完整性。
 
上一篇:php电话号码正则表达式常用例子  下一篇:PHP学习笔记之数组篇