java-RegEx替换除

java-RegEx替换除,java,regex,Java,Regex,我在Java中使用正则表达式时遇到了一个问题。我试图替换字符串中与表达式不匹配的所有内容。 例如: 基本上,我需要删除字符串中的所有字符,以获取括号中的值,以便稍后更改。我认为以下方法可行: string.replaceAll("^[\\([0-9]\\)]", "(" + nextNumber +")" ); 然而,事实并非如此。我也尝试过: string.replaceAll("(?!\\([0-9]\\)])", "(" + nextNumber +")" ); 是否有人知道如何更

我在Java中使用正则表达式时遇到了一个问题。我试图替换字符串中与表达式不匹配的所有内容。 例如:

基本上,我需要删除字符串中的所有字符,以获取括号中的值,以便稍后更改。我认为以下方法可行:

string.replaceAll("^[\\([0-9]\\)]", "(" + nextNumber  +")" );
然而,事实并非如此。我也尝试过:

string.replaceAll("(?!\\([0-9]\\)])", "(" + nextNumber  +")" );
是否有人知道如何更好地获取括号内的值,或者您能否告诉我如何替换字符串中除括号内的值以外的所有字符?

您可以试试

string.replaceAll("\\([0-9]\\)", "(" + nextNumber  +")" );
不需要表示行开始的
^

如果数字超过一位,请尝试
\\([0-9]+\\)
,您可以使用
\\d
而不是
[0-9]

有关更多信息,请查看

string.replaceAll("\\([0-9]\\)", "(" + nextNumber  +")" );