【PHP正则表达式】

【PHP正则表达式】

最近写题总是遇到php正则表达式的匹配函数,于是进行一个总结。

1、什么是正则表达式

是php在进行搜索时用于匹配的模式字符串。一般用于php对特定字符序列的替换和搜索。

2、正则表达式函数

  • preg_match($pattern,$str),用于在str中寻找pattern字符串
  • preg_match_all($pattern,$str),用于统计str中pattern字符串出现的次数
  • preg_replace($pattern,$replace,$str),用于将str中的pattern字符串替换成replace字符串

3、正则规则

一般正则表达式如下:

$test="/test/i"

其中'test'为模式,/为分隔符,i为修饰符。

修饰符:

修饰符 作用
i 不区分大小写
m 执行多行搜索
u 启用UTF-8进行匹配
g 查找多个匹配项,如果不加只会找到一个结果

模式:

表达式 描述
[abc] 查找括号中的字符
[^abc] 查找不在括号中的字符
[0-9] 查找0-9之间的字符

元字符:

元字符 描述
| 用于分割多个匹配项
. 匹配换行符(\n,\r)之外的任何单个字符
+ 匹配前面的子表达式一次或多次
\w 匹配字母、下划线、数字,相当于[A-Za-z0-9]
\b 匹配单词边界,er\b可以匹配nerver中的er,不能匹配verb中的er
表示只匹配n次,er{2}只能匹配含有两个er的单词
表示至少匹配n次
至少匹配n次,至多匹配m次

示例:

$file = preg_replace("/[^a-zA-Z0-9.]+/", "", $file);

会把字符串中非字母或数字或点号的其他字符去掉

参考链接

https://www.runoob.com/regexp/regexp-metachar.html

posted @ 2023-01-07 20:06  CAP_T  阅读(19)  评论(0编辑  收藏  举报