Skip to main content
 首页 » 编程设计

PHP 正则表达式基础总结

2022年07月19日146lautakyan007
正则匹配相应知识点




str_replace("world","Shanghai","Hello world!"); //替换字符串中的指定的值,需要注意本函数区分大小写

$str1=preg_replace($pattern,$replacement,$subject); //不管替换的值有没有改变都保存

$str2=preg_filter($pattern,$replacement,$subject); //只保存发生替换的值

$arr=preg_grep($pattern,$subject); //本函数只找出能够匹配的字符,但是不进行替换,同时会过滤掉不能够进行匹配的

explode(" ",$str) //分割字符串为数组

$arr=preg_split($pattern,$subject); //升级版的explode()函数,也是把字符串分割成数组

$str=preg_quote($str); //将字符串中的正则表达式进行转译

preg_match($pattern,$subject,$m1); //输出匹配到的字符,此函数只输出第一个

preg_match_all($pattern,$subject,$m2); //输出匹配到的字符,相比于preg_match()此函数是匹配全部的字符串




———————————————————————界定符————————————————————————————

表示一个正则表达式的开始和结束

———————————————————————原子————————————————————————————--




元字符



原子的筛选方式


| 匹配两个或者多个分支的选择
[] 匹配方括号中的任意一个原子
[^] 匹配方括号中的原子之外的任意字符



原子的集合

. 匹配换行符之外的任意字符
\d 进制的数字,即[0-9]
\D 匹配任意一个非匹配任意一个十十进制数字,即[^0-9]
\s 匹配一个不可见原子,即[\f\n\r\t\v] (什么是不可见原子呢?就是换行符,空格等看到不到的原子)
\S 匹配一个可见原子,即[^\f\n\r\t\v] (除了换行符等不可见的之外的原子,都是可见的原子)
\w 匹配一个数字,字母或下划线,即[0-9a-zA-Z]
\W 匹配任意的一个非数字,字母或下划线,即[^0-9a-zA-Z]


量词

{n} 表示其前面的原子恰好出现n次
{n,} 表示其前面的原子最少出现n次
{n,m} 表示其前面的原子至少出现n次,最多出现m次
* 匹配0次,1次多次之前出现的原子,即{0,}
+ 匹配1次或者多次其之前出现的原子,即{1,}
? 匹配0 次或者1次其之前出现的原子,即{01,}


边界控制与模式单元

^ 匹配字符串开始的位置
$ 匹配字符串结束的位置

() 匹配其中的整体为一个原子

常见的修正模式

U 懒惰匹配
i 忽略英文字符大小写
x 忽略空白
s 让元字符' . '匹配包括换行符在内的所有字符

本文参考链接:https://www.cnblogs.com/ricklz/p/9279360.html