使用正则表达式从字符串中删除某些元素

时间:2018-10-15 17:42:00

标签: regex string

我正在使用字符串存储二次方程式,然后通过二次方程式对其进行求解。

所以我需要一个正则表达式来删除x和/或x [^ 2]之类的元素,但是我真的不知道如何创建正则表达式,除非我对要删除的每个符号/字母/数字使用replace 。

例如:

  • 输入:2x ^ 2 + 4x + 6
  • 输出:2 4 6

1 个答案:

答案 0 :(得分:0)

这是一个匹配二次多项式的正则表达式:

^(?:([+-]?\d+)x\^2)?(?:([+-]?\d+)x)?([+-]?\d+)?$

组1是x ^ 2的系数,组2是x的系数,组3是常数。一个带有空字符串的组意味着它是1。您只需获得这些组并将它们插入二次公式即可。使用正则表达式前,请记住从字符串中删除所有空格。

请注意,此正则表达式与6x3之类的东西匹配,并将其解释为6x+3

Demo