使用正则表达式进行JavaScript字符串拆分

时间:2018-08-02 15:25:15

标签: javascript regex

我正在尝试使用正则表达式和split()方法拆分输入字符串,这是代码战问题的一部分。但是,到目前为止,我还无法创建可正确分割输入字符串的正则表达式。输入字符串遵循以下格式:

x+y=z

其中x,y和z可以是任何整数(正数或负数),并且还包含问号。例如:

12?+-756?=1??
-3445--8?756=?32
1+1=?

任务是解决“?”。

到目前为止,我已将字符串分成两个字符串;等号的左侧和右侧。现在,我正在尝试进一步拆分左侧。但是,由于输入字符串可以包含减号和/或负数,因此这在我的程序中引起了问题。

到目前为止,我已经使用过:

x = /[+*-]/;

这适用于带有正整数的简单加号,减号或减号方案。

如果有人可以提供帮助,我将非常感激。 谢谢。

这是Codewars kata的链接:

https://www.codewars.com/kata/546d15cebed2e10334000ed9/train/javascript

1 个答案:

答案 0 :(得分:0)

这样的作品行吗?

([+-]?[\d?]+)[+-]([+-]?[\d?]+)=([+-]?[\d?]+)

这部分([+-]?[\d?]+)指定一个可选的正号或负号,然后是数字和问号的混合,然后[+-]是正号或负号,然后是另一个数字,然后是=数。每个数字都被捕获到一个组中,因此您可以在执行正则表达式后访问它。