标签: regex
我有这个正则表达式:(\+|\-)?[a-z0-9.^]+匹配多项式中的所有组,只有2x^2+3x+0这样的正整数。
(\+|\-)?[a-z0-9.^]+
2x^2+3x+0
使用该正则表达式,我得到结果2x^2,+3x,+0。到目前为止一切都还可以。当我有像2x^-2+3x+0这样的负面指数时会出现问题。
2x^2
+3x
+0
2x^-2+3x+0
使用该正则表达式,我得到结果2x^,-2,+3x,+0。
2x^
-2
我需要知道如何在-
-
^
答案 0 :(得分:1)
要在正则表达式中加权后包含减号,您可以从字符类中删除插入符号并在可选的非捕获组中使用它:
[+-]?(?:[a-z0-9.]+(?:\^-?)?)+
Live demo