我有一个字符串如下。
$x:Test( (x==5 || y==4) && ( (r==9 || t==10) && ( n>=2 || t<=4))) demo program
在上面的字符串中,左右括号的数量将根据条件进行更改。
我的要求是每当我遇到最后一个右括号时,就需要连接下面的字符串。
from "stream"
所以结果如下。
$x:Test( (x==5 || y==4) && ( (r==9 || t==10) && ( n>=2 || t<=4))) from "stream" demo program
为了实现这一点,我正在尝试使用 java 中的以下代码。
Pattern pattern = Pattern.compile(".*?\\.Event\\(([^\\(]*?|\\([^\\)]*?\\))*\\)");
if(line.matches(".*\\.Test(.*).*")){
line = pattern.matcher(line).replaceAll("$0 from \""+"stream"+"\""+" ");
}
但是如果左右括号的数量超过 5 ,上面的代码就不起作用。
需要指针来实现所需的结果我的意思是我需要任何数量的左右括号的通用解决方案。