php 正则表达式

正则表达式
在编写处理字符串的程序或网页时,经常有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。
常用元字符
| 代码 | 说明 |
|---|---|
| . | 匹配除换行符以外的任意字符 |
| w | 匹配字母或数字或下划线 |
| s | 匹配任意的空白符(space) |
| d | 匹配数字 |
| b | 匹配单词的开始或结束 |
| ^ | 匹配字符串的开始 |
| $ | 匹配字符串的结束 |
| un | 匹配n,其中n是一个用四个十六进制数字表示的Unicode字符。例如,u00A9匹配版权符号(©)。 |
常用限定符
| 代码/语法 | 说明 | |||
|---|---|---|---|---|
| * | 重复零次或更多次 | |||
| + | 重复一次或更多次 | |||
| ? | 重复零次或一次 | |||
| {n} | 重复n次 | |||
| {n,} | 重复n次或更多次 | |||
| {n,m} | 重复n-m次 | |||
| x\ | y | 匹配x或y。例如,“`z | food"能匹配"z"或"food"。"(z | f)ood"则匹配"zood"或"food`"。 |
| [a-z] | 字符范围。匹配指定范围内的任意字符。例如,“[a-z]"可以匹配"a"到"z"范围内的任意小写字母字符 | |||
常用反义词
| 代码/语法 | 说明 |
|---|---|
| W | 匹配任意不是字母,数字,下划线,汉字的字符 |
| S | 匹配任意不是空白符的字符 |
| D | 匹配任意非数字的字符 |
| B | 匹配不是单词开头或结束的位置 |
| 1 | 匹配除了x以外的任意字符 |
| 2 | 匹配除了aeiou这几个字母以外的任意字符 |
常见的正则表达式
| Unicode编码中的汉字范围 | /^[\u2E80-\u9FFF]+$/ | |
|---|---|---|
| URL | ` ^((https | http)?://)3+ ` |
| 电子邮箱 | /^([a-z0-9_.-]+)@([da-z.-]+).([a-z.]{2,6})$/ | |
| 中国大陆身份证号(15位或18位) | d{15}(dd[0-9xX])? | |
| QQ号码 | [1-9]d{4,11} | |
| 空白行 | s | |
| 删除代码\注释 | (?<!http:\ | S)//.*$ |
参考地址: