我想这样的字符串分割:飞镖 - 分割字符串的正则表达式
x^-5 - 3
到像这样的列表:
[x^-5, -, 3]
后的第一个减去^必须相同列表索引作为x,因为它只是负指数。但是,我希望其他不是任何指数的不利因素都可以在他们自己的指数上。
当通过 - 进行分割时,显然我的x^-5也被分割为两个。
那么有什么办法可以使用RegEx或类似的东西来实现这个吗?
在此先感谢
我想这样的字符串分割:飞镖 - 分割字符串的正则表达式
x^-5 - 3
到像这样的列表:
[x^-5, -, 3]
后的第一个减去^必须相同列表索引作为x,因为它只是负指数。但是,我希望其他不是任何指数的不利因素都可以在他们自己的指数上。
当通过 - 进行分割时,显然我的x^-5也被分割为两个。
那么有什么办法可以使用RegEx或类似的东西来实现这个吗?
在此先感谢
如果使用allMatches
,而不是split
,你可以使用这样的模式:
(?:\^\s*-|[^\-])+|-
-
令牌,或^-
。-
,我们可以单独匹配它,类似于分割。一些注意事项:
您是否尝试使用空格拆分? '.split(new RegExp(r“\ s +”))' –
对不起,我忘了提及它应该没有空白的工作...但如果我没有找到另一种解决方案,我会坚持空格,谢谢。 – OhMad
事实证明,在Dart中,您不能使用JS方法来捕获子模式以使用拆分块返回。你最好写一个解析器或使用任何现成的库。 –