输入字符串:NNULL(EUR,VALUE)+SOMESTR
预期输出:NNULL(X,X)+X
尝试的表达式:
String str = "NNULL(EUR,VALUE)+SOMESTR";
str=str.replaceAll("[^(NNULL)\\+,]+","X");
输出获取:
NNULL(XUX,XLUX)+X
最佳答案
您可以使用 (
、、
或 +
进行正向查找
Regex101
String str = "NNULL(EUR,VALUE)+SOMESTR";
str=str.replaceAll("(?<=[(,+])\\w+","X");
System.out.println(str); // NNULL(X,X)+X
关于Java正则表达式替换除少数字符组合之外的所有字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38674731/