Java LHS/RHS和运算符中除法表达式的正则表达式
我想用Java LHS/RHS和运算符中除法表达式的正则表达式,java,regex,groovy,Java,Regex,Groovy,我想用运算符对表达式进行除法。我想识别任何使用运算符的表达式,并将其分为三组:LHS、RHS和> 我正在使用下面的正则表达式 (.+)(>)(.+) 我错误地识别了这个群体 5 > ${a > 0 ? a :6 } 它检索 Group1: 5 > ${a Group2: > Group3: 0 ? a :6 } 哪个错误,它应该检索 Group1: 5 Group2: > Group3: ${a > 0 ? a :6 } 任何让它工作的建议。我可
运算符对表达式进行除法。我想识别任何使用
运算符的表达式,并将其分为三组:LHS、RHS和>
我正在使用下面的正则表达式
(.+)(>)(.+)
我错误地识别了这个群体
5 > ${a > 0 ? a :6 }
它检索
Group1: 5 > ${a
Group2: >
Group3: 0 ? a :6 }
哪个错误,它应该检索
Group1: 5
Group2: >
Group3: ${a > 0 ? a :6 }
任何让它工作的建议。我可以在正则表达式中添加一些应该忽略在${}
中使用的
运算符的内容吗
我可以在正则表达式中添加一些应该忽略在${}
中使用的
运算符的内容吗:
您可以使用这个在{…}
中跳过
的正则表达式(假设没有不平衡的和转义的括号)
正则表达式详细信息:
:组1:匹配(\${[^}]+}{124;[^>]+?)
格式的字符串或非${…}
格式的任何字符的1+
:匹配0个或多个空格,后跟一个\h*>
:负向前看,断言如果没有(?![^{}]*})\h*
和{
我们就没有}
向前看}
:组2:匹配剩余字符(.+)
(\${[^}]+}|[^>]+?)\h*>(?![^{}]*})\h*(.+)