“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 的模式匹配功能来确保准确高效地验证和提取数据中的信息。
以上是为什么我收到'preg_match 中未知的修饰符'g'”?的详细内容。更多信息请关注PHP中文网其他相关文章!