<?php
/*
1.行定位符 描述子串的边界 ^表示开头 &表示结尾
^tm 匹配tm的位置是行头 如 tm Tomorrow Moon可以匹配
tm& 匹配tm的位置是行尾 如 Tomorrow Moon tm可以匹配
如果要匹配的子串可以出现在任何一个位置 则写成 tm 如html utmost
2.单词定界符 \b \B
\b \btm\b 表示要匹配单词tm 而不是单词的一部分
\B 与 \b相反 匹配的子串不是一个完整的单词 必须是其他单词或子串的一部分
3.字符类 []
忽略大小写 只要匹配的字符出现在方括号内即匹配成功 一个方括号只能匹配一个字符
[Tt][Mm]
4.选择字符 |
实现字符类的匹配方式
如上述可以写成
T|tM|m
以字母T或t开头 后接一个M或m
5.连字符 -
若要匹配符合命名规则的变量 [a,b,c,...,A,B...] 可写成[a-zA-Z]
6.排除字符 [^]
若要匹配不符合命名规则的变量 [^a-zA-Z]
7.限定符 ? * + {n,m}
? 匹配前面的字符0次或1次 colou?r 可以匹配colour和color 对colo进行全局搜索 后匹配0个或一个u
+ 匹配前面的字符1次或多次 go+gle 可以匹配的范围从gogle到goo...gle
* 匹配前面的字符0次或多次 go*gle 可以匹配的范围从ggle到goo...gle
{n} 匹配前面的字符n次 go{2}gle 只能匹配google
{n,} 匹配前面的字符最少n次 go{n,}gle 可以匹配的范围从google到goo...gle
{n,m} 匹配前面的字符最少n次 最多m次 employe{0,2} 可以匹配 employ employe emplooyee 3种情况
8.点号字符 . 可以匹配除换行符之外的 任意一个字符
如匹配以s开头 t结尾 中间包含一个字母的单词 ^s.t$
第一个字母为r 第三个字母为s 最后一个字母为t ^r.s.*t$
9.转义字符 \
用正则表达式匹配诸如127.0.0.1这样格式的IP地址 直接使用点字符 格式为
[0-9]{1,3}(.[0-9]{1,3}){3}
这样显然不对 因为.可以匹配任意一个字符
正则表达式
最新推荐文章于 2022-08-04 17:40:47 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)