PCRE/PHP 中的Unicode 字母字元符合
為了嘗試驗證PHP 中的名稱,使用以下正規表示式實現了一種模式:
/^([\p{L}'\- ])+$/
但是,驗證無法匹配Unicode 字符,例如Ă或張.
分析
問題源自於正規表示式中省略了「u」修飾符。此修飾符對於啟用 Unicode 字元匹配並避免與純 ASCII 模式混淆是必需的。
透過修改模式以包含「u」修飾符:
/^[-\' \p{L}]+$/u
正規表示式現在可以正確地匹配 Unicode 字母字元以及撇號、連字號和空格。
以上是為什麼我的 PHP 正規表示式不符合 Unicode 字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!