代码之家  ›  专栏  ›  技术社区  ›  Luis felipe De jesus Munoz

多项式组匹配

  •  0
  • Luis felipe De jesus Munoz  · 技术社区  · 7 年前

    我有这个正则表达式: (\+|\-)?[a-z0-9.^]+ 它只匹配多项式中的所有组,就像 2x^2+3x+0 .

    用那个正则表达式我得到了结果 2x^2 , +3x , +0 . 一切都很好。当我有负指数时,问题就来了,比如 2x^-2+3x+0 .

    用那个正则表达式我得到了结果 2x^ , -2 , +3X , + 0 .

    我要知道我该怎么做 - ^

    1 回复  |  直到 7 年前
        1
  •  1
  •   revo shanwije    7 年前

    要在正则表达式的幂之后包含减号,可以从character类中删除插入符号,并在可选的非捕获组中使用它:

    [+-]?(?:[a-z0-9.]+(?:\^-?)?)+
    

    Live demo