Java 如何用正则表达式替换括号中的数字

Java 如何用正则表达式替换括号中的数字,java,regex,string,brackets,Java,Regex,String,Brackets,我有这个密码: String replacedItemName = ItemDefinitions.getItemDefinitions(usedWith).getName().replaceAll("\\(.\\)", "(6)"); \\(.\\)是否是替换项目名称括号中任何内容的正确正则表达式?(Java)几乎,您忘记了点后的加号(一个或多个)。如果没有加号,点只匹配一个字符 \(.+\) 然而,我不确定你的目标是什么。我用一些例子做了一个红疹: 这些是否符合您的预期行为?我建议使用

我有这个密码:

String replacedItemName = ItemDefinitions.getItemDefinitions(usedWith).getName().replaceAll("\\(.\\)", "(6)");
\\(.\\)
是否是替换项目名称括号中任何内容的正确正则表达式?(Java)

几乎,您忘记了点后的加号(一个或多个)。如果没有加号,点只匹配一个字符

\(.+\)
然而,我不确定你的目标是什么。我用一些例子做了一个红疹:


这些是否符合您的预期行为?

我建议使用
replaceAll((?@Uhehesh:无需逃避
内部
[]
s。不要使用
\(.+\)
-它很贪婪,可以匹配更多您想要的内容!>>@Ωmega我知道,我甚至在Rubular代码片段中的一个示例中包含了这个限制。我不确定他的场景是什么,所以我不知道他的输入字符串是否包含一个括号块或多个块。通过向他展示一些示例,我希望他能找到自己的解决方案。而不是将你的问题改为有些完全不同的东西,因此答案毫无意义,你应该接受正确的答案,然后开始一个新的问题