首页 > 编程语言 >【PHP正则表达式】

【PHP正则表达式】

时间:2023-01-07 20:23:53浏览次数:52  
标签:匹配 正则表达式 pattern str 字符串 PHP er

【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} 表示只匹配n次,er{2}只能匹配含有两个er的单词
{n,} 表示至少匹配n次
{n,m} 至少匹配n次,至多匹配m次

示例:

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

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

参考链接

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

标签:匹配,正则表达式,pattern,str,字符串,PHP,er
From: https://www.cnblogs.com/capz/p/17033387.html

相关文章