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

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

Patricia Arquette
發布: 2024-12-18 17:26:09
原創
492 人瀏覽過

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板