1
我想用java中的正則表達式替換一些正則表達式,例如用另一個正則表達式替換正則表達式
要求:
輸入:xyxyxyP
所需的輸出:xyzxyzxyzP
意味着我要替換 「(對於)+ \ {」 到「(對於\ {)+ \ {「。有沒有辦法做到這一點?
我曾嘗試下面的代碼
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class ReplaceDemo2 {
private static String REGEX = "(xy)+P";
private static String INPUT = "xyxyxyP";
private static String REGEXREPLACE = "(xyz)+P";
public static void main(String[] args) {
Pattern p = Pattern.compile(REGEX);
// get a matcher object
Matcher m = p.matcher(INPUT);
INPUT = m.replaceAll(REGEXREPLACE);
System.out.println(INPUT);
}
}
但輸出(XYZ)+ P。
可以請您分享從「xyabxyP」獲取「xyzabzxyzP」的regx嗎? –
不知道該模式可以。試試'.replaceAll(「xy |(?!P)[^ x] *(?: x(?!y)[^ x] *)*(?=。* P)」,「$ 0z」)''。 –