首頁 >後端開發 >php教程 >為什麼我的 PHP 正規表示式不符合 Unicode 字元?

為什麼我的 PHP 正規表示式不符合 Unicode 字元?

Patricia Arquette
Patricia Arquette原創
2024-12-18 17:26:09585瀏覽

Why Doesn't My PHP Regex Match Unicode Characters?

PCRE/PHP 中的Unicode 字母字元符合

為了嘗試驗證PHP 中的名稱,使用以下正規表示式實現了一種模式:

/^([\p{L}'\- ])+$/

但是,驗證無法匹配Unicode 字符,例如Ă或張.

分析

問題源自於正規表示式中省略了「u」修飾符。此修飾符對於啟用 Unicode 字元匹配並避免與純 ASCII 模式混淆是必需的。

透過修改模式以包含「u」修飾符:

/^[-\' \p{L}]+$/u

正規表示式現在可以正確地匹配 Unicode 字母字元以及撇號、連字號和空格。

以上是為什麼我的 PHP 正規表示式不符合 Unicode 字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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