当我写:" integralfrom1to10ofx ^ 2)+ integralfrom1to10ofx ^ 3)",
我期待我的正则表达式:
// INTEGRAL BASIC
Pattern integralFinalPattern = Pattern.compile("integralfrom(.*)to(.*)of(.*)\\)");
Matcher integralFinalMatcher = integralFinalPattern.matcher(regexDedicatedString);
if(integralFinalMatcher.find()){
String integral_user_input = integralFinalMatcher.group(0);
String integral_lower_index = integralFinalMatcher.group(1);
String integral_upper_index = integralFinalMatcher.group(2);
String integral_formula = integralFinalMatcher.group(3);
String ultimateLatexIntegral = "(\\int_{"+ integral_lower_index
+"}^{"+ integral_upper_index +"} " + integral_formula + ")";
mathFormula = mathFormula.replace(integral_user_input, ultimateLatexIntegral);
}
分别匹配这两个字符串,但现在它会把它解释为一个。 结果我得到以下乳胶SVG:
我想输出两个独立的积分,如下所示: 如何使用正则表达式来实现这一目标?
显然,我寻求一种可以使它适用于两件以上的想法。
答案 0 :(得分:0)
您正在做很多Matcher课程可以为您做的工作。看看:
Pattern p = Pattern.compile("integralfrom(?<upper>.*?)to(?<lower>.*?)of(?<formula>.*?)\\)");
Matcher m = p.matcher(subject);
result = m.replaceAll("\\\\int_{${upper}}^{${lower}} (${formula})");
输入"integralfrom1to10ofx^2)+integralfrom1to10ofx^3)"
后,结果为:
\int_{1}^{10} (x^2)+\int_{1}^{10} (x^3)