匹配字符与匹配上一个字符的次数相同

时间:2015-05-13 21:31:23

标签: javascript regex

我需要一种解释x ^ y的方法(我知道有这样的解决方案可用,但这对我自己来说是一个挑战'#34;无库?")。我考虑过使用RegExp:

(\(*\w+\)*|\(*Math.pow\(\w+,\w+\)\)*=*)+\s*\^\s*(\(*\w\)*)+\)*

http://regexr.com/3b0dl)和替换字符串"Math.pow($1,$2)"

现在,这适用于我迄今为止测试的所有情况,除了以下内容:

1 - Paren围绕表达

(2 ^ (5))

由此取而代之:

Math.pow((2,(5)))

评估(2,(5)。有没有什么方法可以修复RegExp,使其与)匹配的次数与匹配第二个catch组中的(的次数相同?

2 - 多次迭代

(2 ^ 3) ^ 5

替换为

Math.pow((2,3)) ^ 5

留下未评估的^。我认为这可以通过while(input.match("^"){...}排序来完成,我想知道如果通过RegExp可以做到这一点。

提前感谢您的帮助。

0 个答案:

没有答案