我想明白,我的表达是括号内的。我创建了这样的regExp -
public static final String complexValue = "([-]?[(].+[)])"
但我在输入字符串上失败了 -
String st = "(4+6)+(3)"
有没有办法创建这样的regExp ,字符串(5+x)
与其匹配,字符串(4+6)+(3)
没有。
答案 0 :(得分:2)
字面答案是肯定的:"^\\(5\\+x\\)$"
做你所要求的,但不是你想要的。
问题是,目前还不清楚你想要((4)+(6))
:它应该匹配吗?您是否希望允许无限的括号嵌套,或者只允许一对外括号而不允许使用内括号?
在第一种情况下,您的语法是不规则的,因此正则表达式无法解析它。 (我似乎记得有“不规则正则表达式”方言,但IIRC java实现不在其中)。
在第二种情况下,"^\\([^)]+\\)$"
之类的东西可以胜任。
答案 1 :(得分:0)
所以你想匹配括号括起来的两个数字的加法?然后以下内容应该有效。
^\(\-?\d+\+\-?\d+\)$