我已经测试了这个正则表达式:
String regex = "[e][#](.)+[$]
正则表达式可以很好地识别指数项,但是当有两个或多个连续的指数项时它会中断。
我用通常的代码测试正则表达式:
while(matcher.find()){
String string = matcher.group();
System.out.println("this one: "+string);
}
当我输入表达式时:
e#x$ + 3e#x+1$
字符串等于 (e#(x$+3e#x+1$))
顺便说一句,我在 while 循环中添加了括号。它们对于我想要完成的事情是必要的。
我希望字符串的结果是(e(#x$))+3(e(#x+1$)
我知道问题在于“(。)+我认为正在发生的是正则表达式包含第一个$,我需要的是让它停在第一个$。
如何在正则表达式中包含此逻辑?
谢谢你