1
我無法弄清楚如何使用積極的lookahead創建正則表達式。這個想法是將一個長字符串中的每兩個字符加上兩個字符串。即前置字符串使用replaceAll和正則表達式
"090909" => "XX09XX09XX09"
此代碼:
String s = "090909";
String ns = s.replaceAll("(?=\\d\\d)", "XX");
...不工作;輸出是XX0XX9XX0XX9XX09
。但是,此代碼的工作:
String s = "090909";
String ns = s.replaceAll("(?=09)", "XX");
我在困惑如何來爲每兩個字符的表情說前瞻。我錯過了一些界限或什麼?
+1,但是你缺少一個'('在正則表達式中,替換字符串應該是'「XX $ 1」',而不是'「$ 1XX」'。 – 2011-03-04 01:15:01
你的代碼沒有工作。得到了新的解決方案s.replaceAll(「(?=(\\ d \\ d)+ $)」,「XX」),但不幸的是,這僅適用於字符串長度爲偶數 – Zorlac 2011-03-04 01:20:07
的情況。替換所有(「(\\ d \\ d)」,「XX $ 1」)。謝謝!不知道$ 1可以用於替換字符串,但非常感謝 – Zorlac 2011-03-04 01:23:31