千家信息网

正则表达式中模式修正符作用是什么

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关正则表达式中模式修正符作用是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。正则表达式中模式修正符作用详解(i、g、m、
千家信息网最后更新 2026年11月02日正则表达式中模式修正符作用是什么

这篇文章将为大家详细讲解有关正则表达式中模式修正符作用是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

正则表达式中模式修正符作用详解(i、g、m、s、x、e)

什么是模式修正符?

1, 模式修正符就是几个字母,我们在每个正则表达式中可以一次使用一个,也可以连续使用多个,每一个具一定的意义。

2, 模式修正符是对整个正则表达式调优使用,也可以说是对正则表达式功能的扩展。

还记得正则表达式的那个公式吗?'/原子和元字符/模式修正符',其中正斜线为边界符。

模式修正符的构成

模式修正符就是字母,只不过这些在模式修正符的应用之中有特殊的含义。下面我来看看都有哪些模式修正符,请看下表:

由于i表示匹配不区分大小写,在下面的示例中,我们不再进行演示,我们来看一下其他模式修正符的示例。

1,模式修正符m。

代码如下:

{$pattern}和字符串{$string}匹配成功
"; print_r($arr); } else { echo "正则表达式{$pattern}和字符串{$string}匹配失败"; } ?>

匹配结果是成功的。注意:我们在使用模式修正符m的时候,将匹配字符串看成是多行而不是默认的单行,所以任何一行只要是以abc开头,就匹配成功。但是,如果能匹配的行前面有空格的话,就不能匹配了!除非修改正则表达式的匹配模式。

2,模式修正符s。

代码如下:

{$pattern}和字符串{$string}匹配成功
"; print_r($arr); } else { echo "正则表达式{$pattern}和字符串{$string}匹配失败"; } ?>

这次的匹配记过也是成功的。如果你将上例中的模式修正符s去掉的话,匹配就会失败。因为模式修正符s将匹配字符串看作是单行的,所以这个时候,元字符中的"."就可以表示换行符号了。

3,模式修正符x。

代码如下:

{$pattern}和字符串{$string}匹配成功
"; print_r($arr); } else { echo "正则表达式{$pattern}和字符串{$string}匹配失败"; } ?>

这次的匹配结果是失败的。因为我们使用模式修正符x取消了模式中的空格。注意:我们无法使用模式修正符取消\s表示的空白。

4,模式修正符A。

代码如下:

{$pattern}和字符串{$string}匹配成功
"; print_r($arr); } else { echo "正则表达式{$pattern}和字符串{$string}匹配失败"; } ?>

正则表达式表示的含义是匹配以ac开头的字符串,结果成功。

模式修正符Z表示的是以字符串结尾的匹配,和A的用法是一样的,我们不再进行演示。

5,模式修正符U。

这个模式修正符是十分重要的!在正则表达式中,其本身是"贪婪"的。那什么是贪婪模式呢?贪婪模式的意思就是说,正则表达式默认会在查找到第一个匹配后,继续尝试后面的匹配,如果能找到匹配,则匹配最大的范围字符串。但有的时候这并不是我们想要的结果,所以我们需要取消贪婪模式。

我们还是先看一个贪婪模式的例子:

代码如下:

.*<\/b>/'; $string = 'welcome to phpfuns'; if (preg_match($pattern, $string, $arr)) { echo "正则表达式{$pattern}和字符串{$string}匹配成功
"; print_r($arr); } else { echo "正则表达式{$pattern}和字符串{$string}匹配失败"; } ?>

这个实例的本意是匹配welcome,但是结果却匹配了welcome to phpfuns整个字符串(注意我们的字符串'welcome to phpfuns',其开头和结尾正好构成了正则表达式的模式匹配,所以匹配成功),这就是正则表达式的贪婪模式。当然,这不是我们要的结果。

取消贪婪模式

我们可以使用模式修正符U和元字符?两种方式取消正则表达式的贪婪模式。

模式修正符U取消贪婪模式

代码如下:

.*<\/b>/U'; $string = 'welcome to phpfuns'; if (preg_match($pattern, $string, $arr)) { echo "正则表达式{$pattern}和字符串{$string}匹配成功
"; print_r($arr); } else { echo "正则表达式{$pattern}和字符串{$string}匹配失败"; } ?>

元字符?取消贪婪模式

代码如下:

.*?<\/b>/'; $string = 'welcome to phpfunsdsadsadas'; if (preg_match($pattern, $string, $arr)) { echo "正则表达式{$pattern}和字符串{$string}匹配成功
"; print_r($arr); } else { echo "正则表达式{$pattern}和字符串{$string}匹配失败"; } ?>

关于正则表达式中模式修正符作用是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

模式 正则 表达式 字符 字符串 成功 贪婪 代码 结果 元字符 就是 作用 开头 时候 内容 含义 字母 文章 更多 知识 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 瑰夏咖啡 互联网与科技 广东猪兼强互联网科技有限公司 广州万易互联网科技有限公司 互联网科技活动banner 互联网科技官网 中国 科技 互联网 安徽鑫晟辉互联网科技 成都仁贤领冠互联网科技有限公司 宁波青枫互联网科技有限公司 剑昆互联网络科技有限公司临桂 福州新华互联网科技学校 知乎 乌鲁木齐新华智原互联网科技学校 中科明德北京互联网科技 广东工业互联网大赛深圳学泰科技 陕西云淼互联网科技公司 信承诺互联网科技有限公司 互联网科技新闻 高科技和互联网的现代国家 株洲百竞科技的互联网营销顾问 手磨咖啡 互联网科技官网 互联网科技集团 茂名市互联网科技产业园 互联网时代科技改变生活 青岛科技大学互联网大赛研究生 速维有品互联网信息科技(苏州)有限公司 互联网科技企业商标注意事项 互联网界的黑科技 安徽九吞吴互联网科技有限公司
0