我一直在进行某种验证,我需要确保两个括号之间的数字总和为100。 我使用!作为我的开始分隔符,使用 | 作为我的结束分隔符。
** 90!(78!(50 + 50)| +22)| +10!(50 + 50)| + 20!(50 + 50)| **
当我使用 !。+ \ | 时。这个正则表达式替换了字符串 它返回它们之间最大的子串。 如果我使用 !。+?\ | 。 它返回最小的子串。 我需要的是嵌套括号中最大的,而在其他情况下最小。 一个正则表达式,应该从上面的表达式返回我
90 + 10 + 20
答案 0 :(得分:1)
如果您想使用正则表达式解决问题,请Balancing Groups are your answer。
但鉴于您尝试解决的问题并不真正适合正则表达式的问题域,您可能能够使用解析器/扫描程序构建更好的解决方案。
可以轻松找到样品或扫描仪/解析器。一些快速点击: