PHP正则表达式语法规则

什么是正则表达式?
正则表达式是一种描述字符串结构的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符。对于用户来说可能以前接触过DOS,如果想匹配当前文件下所有的文件文本,可以输入“dir *.txt”命令,按Enter键后所有“ *.txt”文件将会被列出来。这里的" *.txt"即可以理解为一个简单的正则表达式。

一个完整的正则表达式有两部分构成,“元字符和文本字符”。元字符就是具有特殊含义的字符,如“*” “?”。文本字符就是普通的文本,如字母和数字等。

正则表达式语法规则:

1 行定位符(^和 ) 行 定 位 符 就 是 用 来 描 述 字 串 的 边 界 。 “ ” 表 示 行 的 开 始 ; “ ) 行定位符就是用来描述字串的边界。“^”表示行的开始;“ ”表示行的结尾。
PHP正则表达式语法规则_第1张图片

2 单词定界符(\b、\B)

使用tm可以匹配在字符串中出现的任何位置。那么类似html、utmost中的tm也会被查出来,但是现在需要匹配的是单词tm而不是单词的一部分。这是可以使用单词分界符\b,表示要查找的字串为一个完整的单词。如:

在这里插入图片描述

\B的意思和\b相反。它匹配的字串不能是一个完整的单词,而是其它单词或字串的一部分。如:
在这里插入图片描述

3 字符类([ ])

正则表达式是区分大小写的,如果要忽略大小写可使用方括号表达式“[ ]”。只要匹配的的字符出现在方括号内,即可表示匹配成功但要注意:一个方括号只能匹配一个字符。

一个字符如果不区分大小写,则表达式的格式:

在这里插入图片描述

                  posix预定义字符类

PHP正则表达式语法规则_第2张图片

4 选择字符(|)
还有一种方法可以实现字符不区分大小写的格式,就是选择字符(|).选择字符(|)可以理解“或”
即格式为:

在这里插入图片描述
注意区别:使用"[ ]"和使用“|”的区别在于“[ ]”只能匹配单个字符,而“|”可以匹配任意长度的字串

5 连接符(-)

变量的命名规则是只能以字母和下划线开头,如果是这样正则表达式来匹配这些变量名的第一个字母,要写成
在这里插入图片描述

很麻烦 而正则表达式的连接符;可以表示字符的范围,上例可以写成:

在这里插入图片描述

6 排除字符([^])

匹配不符合命名规则的变量,正则表达式提供例如“^”字符。例如:

在这里插入图片描述
7 限定符(? * + {n,m})

经常使用Google的用户可能会发现,在搜索结果页的下方,Google中间字母O的个数会随着搜索页的改变而改变。对于重复出现的字母或字串,可以使用限定符来实现匹配。限定符主要有六种

PHP正则表达式语法规则_第3张图片
8 点号字符(.)
正则表达式中可以通过点字符(.)来实现匹配任意字母。点字符(.)可以匹配出换行符外的任意一个字符。注意:是除了换行符外的、任意的一个字符。
如匹配以s开头,t结尾,中间包含一个字母的单词。格式如下:

在这里插入图片描述

若匹配的单词,它的第一个字母为r,第3个字母为s,最后一个单词为t,则正则表达式:

在这里插入图片描述

10 反斜线()
除了可以做转义字符外,反斜线还有其他一些功能;
(1)反斜线可以将一些不可打印的字符显示出来:
(2)还可以指定预定义字符集,

PHP正则表达式语法规则_第4张图片
(3)反斜线定义断言

11 括号字符(())
小括号字符的第一个作用就是可以改变限定符的作用范围,如“|”,“*”,“^”。:

在这里插入图片描述
小括号的第二个作用是分组,也就是子表达式。如;(.[0-9]{1,3}){3},就是对分组(.[0-9]{1,3}){3}进行重复操作。

你可能感兴趣的:(PHP正则表达式语法规则)