欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

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 个数字