RegEx用于在忽略括号内容的同时拆分字符串

时间:2019-04-18 22:44:24

标签: java regex

我有一个要按运算符拆分的表达式,该表达式位于两对方括号之间,而不与其中的运算符进行交互。例如:

"(z/(2+t))/((2.0+var)*(x/y))"

应成为:

["(z/(2+t))", "/", "((2.0+var)*(x/y))"]

我尝试使用以下RegEx:

((?<=[+*/\\-])|(?=[+*/\\-]))(?![^(]*[)])

但是拆分发生在内部表达式之间:

["(z", "/", "(2+t))", "/", "((2.0+var)", "*", "(x/y))"]

2 个答案:

答案 0 :(得分:0)

This RegEx可以帮助您将它们分开:

.+\)(\/)\(.+

它在中间创建一个组,其中包括第一个 /

enter image description here

答案 1 :(得分:0)

我敢肯定有比这更干净的答案,但这应该可以完成工作:

  <add name="Owin" verb="" path="*" type="Microsoft.Owin.Host.SystemWeb.OwinHttpHandler, Microsoft.Owin.Host.SystemWeb"/>


</handlers>