【发布时间】:2021-10-10 17:19:51
【问题描述】:
我得到一个方程(多项式)作为字符串,我正在尝试使用正则表达式将方程分成表达式为真的组。
到目前为止我所拥有的:
>>> str = "13x^14-12x^3+x^3-11"
>>> puts str.split(/[+-]?\d*x?\^?\d*/)
["13x^14-12x^3+x^3-11"]
我想要得到的东西:
["13x^14","-12x^3","+x^3","-11"]
我的表达方式是怎样的
- [+-]? : + 或 - 可以存在 0 或 1 次
- \d* : 数字 0-9 可以出现 0 到无限次
- x? : x 可以出现 0 次或 1 次
- ^? : 字符 ^ 可以出现 0 次或 1 次
- \d* : 数字 0-9 可以出现 0 到无限次
【问题讨论】:
-
从模式的开头和结尾删除
^和$:[+-]?\d*x?\^?\d* -
如果我删除
^和$一个空数组返回