首页 > 后端开发 > php教程 > 为什么我收到'preg_match 中未知的修饰符'g'”以及如何修复它?

为什么我收到'preg_match 中未知的修饰符'g'”以及如何修复它?

Linda Hamilton
发布: 2024-11-13 10:31:02
原创
757 人浏览过

Why Am I Getting

解决“PHP 中 preg_match 中的未知修饰符 'g'”

在探索正则表达式的复杂性时,您可能遇到了错误使用 preg_match 时显示消息“未知修饰符 'g' in...”。当尝试在正则表达式模式中使用“g”修饰符时,会出现此问题。但是,preg_match 中没有 'g' 修饰符。

要解决此问题,您需要切换到 preg_match_all 函数。与 preg_match 搜索模式的第一次出现并返回布尔值不同,preg_match_all 搜索模式的所有出现并返回匹配数组。

正确修改的正则表达式模式

您原来的正则表达式模式是:

/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/gim
登录后复制

使用此模式与 preg_match_all,修改如下:

/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/im
登录后复制

修订代码

将原始 preg_match 调用替换为以下内容:

preg_match_all("/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/im", ....)
登录后复制

通过进行这个简单的调整,您可以消除“不支持'g'修饰符”错误并正确处理多次出现的字符串中的模式。

以上是为什么我收到'preg_match 中未知的修饰符'g'”以及如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板