一、常用函数学习
1.preg_match与preg_match_all函数
两个函数都有三个参数preg_match(正则规则,目标字符串或是数组,结果字符串或是数组);返回值为查询次数
两者区别:preg_match 查询到一次结果就不在查询了,返回的查询次数为1
preg_match_all查询到最后全部查询完成后就不再查询,查询多少次,返回结果为多少。
2.preg_replace与preg_filter函数
两个函数都是进行查询饭后替换查询到的结果,有三个参数:查询规则,想要替换成的字符串或者数组,目标字符串或数组
区别:preg_replace :将没有被匹配到的数组也输出
preg_filter:只会将匹配的数组输出
3.preg_grep 函数
preg_grep 与preg_filter函数的匹配方式差不多,有两个参数:匹配规则参数,目标数组参数 返回的是结果数组
代码
结果
preg_grep也是只返回匹配到的字符串。
4.preg_split函数
preg_split函数用于截断字符串,将字符串分割
代码
结果
二、基本语法
1.定界符
常用 ' / / '但是输出的时候需要用到 ' / ' 的时候需要用到转义符' \ ';
2.原子
分为可见原子以及不可见原子
可见:a-z A-Z 0-9 各种标点符号,汉字,英文,其他国家语言文字(Unicode编码表中可用键盘输出后肉眼可见的字符,例如:标点 ; . / ? 或者英文字母,汉字等等可见字符)
不可见:Unicode编码表中可用键盘输出后肉眼不可见的字符,例如:换行符 \n,Tab制表符\t, 空格等等,一般只用这三个(换行符一般和其他字符一起匹配,因为只有换行符是匹配不到的)小提示:匹配运算符前面需要加'\' 例如:'+' 号,匹配的话需要写出 '\+'
3.原字符
| 匹配两个或者多个分支选择
[] 匹配方括号中的任意一个原子
[^] 匹配除方括号中的原子之外的任意字符;
例子:Duang|duang 或者 [Dd]uang 都可以匹配到Duang和duang
区间写法:[a-z]匹配a到z的字符, [0-9]匹配0到9的字符。也可以[a-z0-9]
. 匹配除换行符之外的任意字符
\d 匹配任意一个十进制数字,即{0-9]
\D 匹配任意一个非十进制数字[^0-9] 相当于[^\d]
\s 匹配一个不可见的原子,即[\f\n\r\t\v]
\S 匹配一个可见的原子,即[\f\n\r\t\v],相当于[\s]z
\w 匹配任意一个数字、字母或下划线,即[0-9a-zA-Z_]
\W 匹配任意一个非数字、字母或下划线,[0-9a-zA-Z_],相当于[\w]
4.量词
{n}:限制n位
{n,}:限制最少为n位到正无穷
{n,m}:限制最少为n为,最多为m位
*:范围为0-无限
?:范围为0或1
+:范围为1-无限
5.边界限制
^为限制开头 $为限制结尾
6.模式单元
(a|b)选择其中的一种选择
三、修正模式
1.贪婪与懒惰模式
贪婪模式:在歧义选择时尽可能的选择更多的。(默认模式)
懒惰模式:在歧义选择时尽可能的选择更少的。(/[a-z/0-9]/U修改为懒惰模式后面加上U)