我想在Java正則表達式中匹配\Q
和\E
。 我正在寫一個程序,它將計算字符串的長度,匹配到模式(該程序假定除了{某個數字}之外,沒有任何正則表達式中的量詞,這就是爲什麼字符串的長度是唯一定義的),而我首先要刪除所有表達式,如\Qsome text\E
。 但正則表達式是這樣的:如何在Java正則表達式中匹配 Q和 E?
"\\Q\\Q\\E\\Q\\E\\E"
顯然是行不通的。
我想在Java正則表達式中匹配\Q
和\E
。 我正在寫一個程序,它將計算字符串的長度,匹配到模式(該程序假定除了{某個數字}之外,沒有任何正則表達式中的量詞,這就是爲什麼字符串的長度是唯一定義的),而我首先要刪除所有表達式,如\Qsome text\E
。 但正則表達式是這樣的:如何在Java正則表達式中匹配 Q和 E?
"\\Q\\Q\\E\\Q\\E\\E"
顯然是行不通的。
String s = "\\Q\\Q\\E\\Q\\E\\E";
String escaped = Pattern.quote(s);
只是逃避反斜槓。 \\\\
匹配反斜槓序列,所以要匹配一個\Q
:
"\\\\Q"
,並匹配一個\E
:
"\\\\E"
您可以通過很明顯,使它成爲一個維護者更可讀每個序列採用[...]
匹配單個字符如:
"[\\\\][Q]"