“preg_match 中的未知修饰符 'g':解开谜团”
当尝试利用 PHP preg_match 函数强大的模式匹配功能时,您可能会遇到神秘的错误消息:“未知修饰符‘g’”。此错误是由于对支持的修饰符缺乏了解而引起的。
有问题的正则表达式旨在验证电子邮件地址,包括令人费解的“g”修饰符,它表示全局匹配。然而,preg_match不支持“g”修饰符,导致上述错误。相反,请使用 preg_match_all 函数,该函数专为全局模式匹配而设计。
要纠正此问题,只需在正则表达式中将“/gim”替换为“/im”即可。 “i”修饰符确保不区分大小写,而“m”修饰符则启用多行匹配。
示例:
preg_match_all("/^(\w|\.|-) ?@(\w|-) ?\.\w{2,4}($|\.\w{2,4})$/im", ....)
通过接受这种区别,您可以有效地利用 PHP 的模式匹配功能来确保准确、高效地验证和从数据中提取信息。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3