我在Java中使用正则表达式遇到了问题。我正在尝试替换与我的表达式不匹配的字符串中的所有内容。 例如:
String string = "This is test string (1) of 10";
基本上,我需要删除字符串中的所有字符以获取括号内的值以便稍后更改它。我认为以下内容可行:
string.replaceAll("^[\\([0-9]\\)]", "(" + nextNumber +")" );
然而,它没有。我也尝试过:
string.replaceAll("(?!\\([0-9]\\)])", "(" + nextNumber +")" );
有没有人知道更好的方法来获取括号内的值,或者你能告诉我如何替换字符串中除括号内的值之外的所有字符吗?
答案 0 :(得分:3)
你可以尝试
string.replaceAll("\\([0-9]\\)", "(" + nextNumber +")" );
不需要^
表示该行的开头。
如果该数字超过一位数,请尝试\\([0-9]+\\)
,您可以使用\\d
代替[0-9]
有关详细信息,请查看Java Regex Pattern