「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中文網其他相關文章!