在Java中,如何用value plus替换变量值?

在Java中,如何用value plus替换变量值?,java,regex,Java,Regex,我不知道该怎么说 假设您有一个数学方程作为字符串: String equation = "2 3 - 6 + 5 ( 4 - 3 )"; 我想做的是用相同的内容替换彼此相邻或括号旁边的所有数字,但在它们之间用*替换。所以“23-6+5(4-3)”变成了“2*3-6+5*(4-3)” 有没有一种没有循环的方法?提前感谢。与符合捕获组一起使用,并在替换中使用$1和$2,以重用捕获组中的字符串 String equation = "2 x - 6 + 5 ( 4 - 3 ) y"; String r

我不知道该怎么说

假设您有一个数学方程作为字符串:

String equation = "2 3 - 6 + 5 ( 4 - 3 )";
我想做的是用相同的内容替换彼此相邻或括号旁边的所有数字,但在它们之间用
*
替换。所以
“23-6+5(4-3)”
变成了
“2*3-6+5*(4-3)”

有没有一种没有循环的方法?提前感谢。

与符合捕获组一起使用,并在替换中使用
$1
$2
,以重用捕获组中的字符串

String equation = "2 x - 6 + 5 ( 4 - 3 ) y";
String regex = "([0-9xyz)])\\s*([0-9xyz(])";
String replaced = equation.replaceAll(regex, "$1 * $2");
System.out.println(replaced);
输出:

2 * x - 6 + 5 * ( 4 - 3 ) * y

你能给出一个更清晰的例子吗?围绕正则表达式、模式、字符串替换、字符串匹配等做一些研究。阅读。使用循环可能是最简单的选择,编写循环比编写解析器简单。