我有一个用例,我想在给定字符串中的 <、>、<=、>= 和 = 中搜索一个运算符,并将表达式分成两部分,即右表达式和左表达式,并在之前单独评估它们评估最终的条件运算符。
这可以从下面的例子中理解:
Pattern pattern1 = Pattern.compile("(.*?)(<|>|<=|=|>=)(.*)");
Matcher matcher2 = pattern1.matcher("4>=5");
while (matcher2.find()) {
System.out.println(matcher2.group(1) + ";" + matcher2.group(2)+ ";" + matcher2.group(3));
}
输出:
4;>;=5
预期的输出是,4;>=;5
但是由于操作员的独立>=
存在,操作员被分裂了。>
我想以(<|>|<=|=|>=)
贪婪的方式评估该子句,以便将其>=
视为单个实体并在它们一起出现时被列出。