preg match 匹配中文

2021-08-31 15:06:31 字數 849 閱讀 9837

preg_match 匹配中文出錯

2023年01月06日 星期三 14:55

warning: preg_match() [function.preg-match]: compilation failed: pcre does not support \l, \l, \n, \u, or \u at offset 2 in ***xx on line 3

錯誤原因:

preg_match("/^[\u4e00-\u9fa5]$/",$str);

在使用上述**匹配漢字時,出現如題錯誤。

測試1:

preg_match("/^[\u4e00-\u9fa5]/",$str);

去掉結尾的「$」,錯誤依舊。

測試2:

preg_match("/^[\x4e00-\x9fa5]/",$str);

將u改為「x」,錯誤消失,但是匹配失敗。

測試3:

preg_match("/^[\x-\x]/",$str);

warning: preg_match() [function.preg-match]: compilation failed: character value in \x sequence is too large at offset 9 ind:***.phpon line25

測試4:

preg_match("/^[\x-\x]/u",$str);

加入引數u,錯誤消失,匹配正確。

另外乙個方法:放棄使用preg_match函式,改用ereg(),直接解決~

*************************====

特別注意加小寫的u

preg match正則匹配的字串長度問題

專案中,用preg match正則提取目標內容,死活有問題,測得死去活來。後來懷疑php 的preg match有字串長度限制,果然,發現 pcre.backtrack limit 的值預設只設了100000。解決辦法 ini set pcre.backtrack limit 999999999 注...

Rstudio匹配中文

之前在操作csv檔案時一般是將中文字元在excel或用perl將其中的中文轉換成對應的英文,但是最近碰到不得不在r裡面進行中文符操作,發現r裡面的匹配是無法識別的中文符的。比如 進行匹配操作 原因r讀入檔案時並不指定檔案的字元編碼,輸入的型別為unknown 而直接打中文的話則是utf 8編碼,因此...

正則中文匹配

w匹配的僅僅是中文,數字,字母,對於國人來講,僅匹配中文時常會用到,見下 匹配中文字元的正規表示式 u4e00 u9fa5 或許你也需要匹配雙位元組字元,中文也是雙位元組的字元 匹配雙位元組字元 包括漢字在內 x00 xff 注 可以用來計算字串的長度 乙個雙位元組字元長度計2,ascii字元計1 ...