首頁 >後端開發 >php教程 >為什麼我收到'preg_match 中未知的修飾符'g'”?

為什麼我收到'preg_match 中未知的修飾符'g'”?

DDD
DDD原創
2024-11-12 09:23:02513瀏覽

Why Am I Getting

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn