教程看了千千万,最后不动手都是白搭,结合实例看一下,多多实践才能真正学会. 最简单的匹配 ^\d{5,}$#QQ号码为数字且至少5位 ^ :表示匹配字符串的开始,也即该字符串是独立的开始而不是包含在某个字符串之内 \d :表示匹配数字 {5,} :表示至少匹配5位及以上
教程看了千千万,最后不动手都是白搭,结合实例看一下,多多实践才能真正学会.
^\d{5,}$ #QQ号码为数字且至少5位
^
:表示匹配字符串的开始,也即该字符串是独立的开始而不是包含在某个字符串之内\d
:表示匹配数字{5,}
:表示至少匹配5位及以上$
:表示匹配字符串的结束,也即该字符串是独立的结束从该例子可以看出,正则表达式是从左至右描述的.
在来个类似的例子:
^1\d{10}$ #1开头的11位(独立)数字,可以简单认为是手机号码
在上面的例子中,^
、\d
及 $
等这些符号,代表了特定的匹配意义,我们称之为元字符,常用的元字符如下:
元字符 | 说明 |
---|---|
. |
匹配除换行符意外的任意字符 |
\w |
匹配字母或数字或下划线 |
\s |
匹配任意的空白符 |
\d |
匹配数字 |
\b |
匹配单词的开始或结束 |
^ |
匹配字符串的开始 |
$ |
匹配字符串的结束 |
[x] |
匹配x字符,如匹配字符串中的 a、b 和 c 字符 |
\W |
\w的反义,即匹配任意非字母,数字,下划线和汉字的字符 |
\S |
\s的反义,即匹配任意非空白符的字符 |
\D |
\d的反义,即匹配任意非数字的字符 |
\B |
\b的反义,即不是单词开头或结束的位置 |
[^x] |
匹配除了 x 意外的任意字符,如 [^abc] 匹配除了 abc 这几个字母之外的任意字符 |
提示
\.
,否则 .
会被解释成“除换行符外的任意字符”。当然,要匹配 \
,则需要写成 \\
–
符号连接起来,如 匹配所有的小写字母,[1-5]
匹配 1 至 5 这 5 个数字原文地址:PHP中的正则表达式应用, 感谢原作者分享。