将数学字符串转换为JavaScript表达式

时间:2014-10-22 05:15:52

标签: javascript regex

我正在尝试使用JavaScript将字符串转换为有效的JavaScript表达式。

例如:

  • 4x+2y+1z应转换为4*x+2*y+1*z
  • 12r+6s应转换为12*r+6*s

我尝试使用正则表达式执行此操作,但我无法成功完成此操作。

3 个答案:

答案 0 :(得分:3)

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

试试这个。$1*。见。演示。

http://regex101.com/r/rQ6mK9/31

答案 1 :(得分:1)

以下代码适用于您当前的输入。

> '4x+2y+1z'.replace(/(\d)([a-z])/g, '$1*$2')
'4*x+2*y+1*z'
> '12r+6s'.replace(/(\d)([a-z])/g, '$1*$2')
'12*r+6*s'

答案 2 :(得分:0)

<强>被修改

请尝试以下代码:

function strToExpression(str)
{
    return str.replace(/(\d)+([A-Za-z])/g, '$1*$2');
}

var firstExpression = strToExpression('4x+2y+1z');
var secondExpression = strToExpression('12r+6s');