java - RegEx替换所有但是

时间:2014-08-06 19:09:22

标签: java regex

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

String string = "This is test string (1) of 10";

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

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

然而,它没有。我也尝试过:

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

有没有人知道更好的方法来获取括号内的值,或者你能告诉我如何替换字符串中除括号内的值之外的所有字符吗?

1 个答案:

答案 0 :(得分:3)

你可以尝试

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

不需要^表示该行的开头。

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

有关详细信息,请查看Java Regex Pattern