Calculator使用regex解析用户输入

时间:2014-09-25 16:54:23

标签: java regex string

拥有我在String.split(regex)方法中使用的下一个正则表达式/+|-^[(-]

我希望在有正负的情况下分开,但如果它减去那么就不要分开,如果在他之前有开口括号。

正确的例子:toDollar(-45euro)-$30 ----> { toDollar(-45euro) , $30 }

所以我的正则表达式不遵循这条规则,如何修改它?

1 个答案:

答案 0 :(得分:2)

你正在寻找一个负面的背后隐藏:

\\+|(?<!\\()-

(?<!...)lookbehind,意思是“前面没有......”