Java中多项式表达式的正则表达式
有人能帮我为下面的多项式表达式创建一个Java正则表达式吗 表达式:9x^2+4x+2Java中多项式表达式的正则表达式,java,regex,regex-group,regular-language,polynomials,Java,Regex,Regex Group,Regular Language,Polynomials,有人能帮我为下面的多项式表达式创建一个Java正则表达式吗 表达式:9x^2+4x+2 到目前为止,我还无法映射常数,我不确定这是否是最好的方法,但这是我最了解的: (?\b\d+[xx]| | ^(-?\d+\b) 非常感谢您的帮助:)这里有一个通用的正则表达式模式,它适用于任意阶的多项式: ^\d{0,}(?:[a-z](?:\^\d+)?)?(?: [+-] \d{0,}(?:[a-z](?:\^\d+)?)?)*$ 我将解释正则表达式的第一部分,它匹配任何单个多项式项。正则表达式
到目前为止,我还无法映射常数,我不确定这是否是最好的方法,但这是我最了解的: (?\b\d+[xx]| | ^(-?\d+\b)
非常感谢您的帮助:)这里有一个通用的正则表达式模式,它适用于任意阶的多项式:
^\d{0,}(?:[a-z](?:\^\d+)?)?(?: [+-] \d{0,}(?:[a-z](?:\^\d+)?)?)*$
我将解释正则表达式的第一部分,它匹配任何单个多项式项。正则表达式的第二个重复部分只是循环使用这个模式,中间有一个+/-分隔符
\d{0,} match zero or more numbers (coefficients)
(?: turn off capturing
[a-z] match a single variable letter
(?:\^\d+)? then match an optional exponent term
)? close group
注意,我们通过将可选指数与变量分组来处理它。然后,我们将整个组设置为可选