PHP 正则表达式教程 1 、入门简介在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说, 正则表达式就是记录文本规则的代码。很可能你使用过 Windows/Dos 下用于文件查找的通配符(wildcard) , 也就是*和?。如果你想查找某个目录下的所有的 Word 文档的话,你会搜索*.doc 。在这里, * 会被解释成任意的字符串。和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂——比如你可以编写一个正则表达式, 用来查找所有以 0 开头, 后面跟着 2-3 个数字, 然后是一个连字号“-”, 最后是 7或8 位数字的字符串(像 010-12345678 或 0376-7654321) 。 2、基本语法正则表达式(regular expression) 描述了一种字符串匹配的模式, 可以用来检查一个字符串串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。格式如下: / 正则表达式/[ 模式修正符] 正则表达式包含: 1、普通字符:包含 a-z 、 A-Z 、 0-9 2、元字符:包含特殊符号、转义字符、限定符、定位符 3、模式修正符:用固定的字符,表示特定含义,是正则补充说明的 1) 普通字符普通字符包括没有显式指定为元字符的所有可打印和不可打印字符。这包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号。 2) 转义字符\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如, 'n' 匹配字符"n" 。'\n' 匹配一个换行符。序列'\\' 匹配"\" 而"\(" 则匹配"(" 。常用转义字符: \d 匹配一个数字字符。等价于[0-9] \D 匹配一个非数字字符。等价于[^0-9] \w 匹配包括下划线的任何单词字符。等价于[A-Za-z0-9_] \W 匹配任何非单词字符。等价于[^A-Za-z0-9_] \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' 字符\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 3) 特殊字符所谓特殊字符,就是一些有特殊含义的字符() 标记一个子表达式的开始和结束位置,子表达式可以获取供以后使用. 匹配除换行符\n 之外的任何单字符[ 标记一个中括号表达式的开始'n' 匹配字符'n
PHP正则表达式手册(超级完整教程) 来自淘豆网m.daumloan.com转载请标明出处.