簡體   English   中英

preg_match():PHP Regex上的文本范圍混亂

[英]preg_match(): Text range out of order on PHP Regex

我想將Java regex轉換為php regex。 但我收到錯誤“-文本范圍混亂”

這是JAVA正則表達式

"[^\\u0020-\\u007F\u011f\u00fc\u015f\u00f6\u00e7\u011e\u00dc\u015e\u0130\u00d6\u00c7\u0131]";

這是PHP正則表達式

preg_replace("/[^\\x{0020}-\\x{007F}\\x{011f}\\x{00fc}\\x{015f}\\x{00f6}\\x{00e7}\\x{011e}\\x{00dc}\\x{015e}\\x{0130}\\x{00d6}\\x{00c7}\\x{0131}]/i","",".çşüiğıyuasdfaadsff");

我收到以下錯誤“-文本范圍混亂”

有幫助嗎?

默認情況下,正則表達式引擎將輸入字符串和正則表達式解釋為PHP中的字節數組。 由於\\x{011f}\\x{011e}大於255(一個字節的最大值),因此您會收到有關字符值太大的錯誤。

要匹配Unicode代碼點,而不是任意字節序列,請使用u標志打開UTF模式。

$re = '~[^\x{0020}-\x{007F}\x{011f}\x{00fc}\x{015f}\x{00f6}\x{00e7}\x{011e}\x{00dc}\x{015e}\x{0130}\x{00d6}\x{00c7}\x{0131}]~u';

正則演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM