PHP中的正则表达式应用
程序员文章站
2022-05-17 22:42:17
...
教程看了千千万,最后不动手都是白搭,结合实例看一下,多多实践才能真正学会. 最简单的匹配 ^\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中的正则表达式应用, 感谢原作者分享。