我想要正则表达式来查找等式中的系数,幂和常量,例如:{/ 1}:
ax^3+bx^2+cx+d=0
我尝试了2x^3+4x^2-6x+1=0
的权力,我不知道如何在x之前找到十进制数作为系数
我正在使用C#
答案 0 :(得分:1)
答案 1 :(得分:0)
Regexp表达式还应该知道负系数:
var pattern = @"(-?\d+)x\^?(\d+)?";
var formula = "2x^3+4x^2-6x+1=0";
foreach(Match match in new Regex(pattern).Matches(formula)) {
Console.WriteLine("Coefficent \"{0}\"\tPower \"{1}\"",
match.Groups[1].Value, match.Groups[2].Value);
}
输出结果为:
Coefficent "2" Power "3"
Coefficent "4" Power "2"
Coefficent "-6" Power ""
请注意:如果您想(a)接受公式中的空白字符或(b)非整数系数,则必须优化Regexp模式。