【问题标题】:Regex for polynomial expression in JavaJava中多项式表达式的正则表达式
【发布时间】:2020-02-12 19:30:54
【问题描述】:

有人可以帮我为以下多项式表达式创建一个 Java 正则表达式吗?

表达式:9x^2 + 4x + 2


到目前为止,我无法映射常量,我不确定这是否是最好的方法,但这是我最好的理解:

(-?\b\d+) [xx] || ^ (-?\d+\b)


任何帮助都非常感谢谢谢:)

【问题讨论】:

    标签: java regex regex-group regular-language polynomials


    【解决方案1】:

    这是一个通用的正则表达式模式,它适用于任意阶的多项式:

    ^\d{0,}(?:[a-z](?:\^\d+)?)?(?: [+-] \d{0,}(?:[a-z](?:\^\d+)?)?)*$
    

    Demo

    我将解释正则表达式的第一部分,它匹配任何单个多项式项。正则表达式的第二个重复部分只是循环这个模式,中间有一个 +/- 分隔符。

    \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
    

    请注意,我们通过将可选指数与变量分组来处理它。然后,我们将整个组设为可选。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-29
      • 1970-01-01
      • 1970-01-01
      • 2016-09-28
      • 2013-01-18
      • 2012-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多