2

我想mathMath.sin. 这是我尝试过的。我希望结果Math.cos将被替换为Math.sin

  re=/[Math\.cos|Math\.tan]/g;
  s="Math.cos(0)+Math.cos(0)";
  s=s.replace(re,"Math.sin");
  alert(s);

我期望的结果Math.sin(0)+Math.sin(0)

Math.sinMath.sinMath.sinMath.sinMath.sinMath.sinMath.sinMath.sin(0)+Math.sinMath.sinMath.sinMath.sinMath.sinMath.sinMath.sinMath.sin(0)

我不确定要尝试修复代码。

4

2 回答 2

5

方括号从根本上改变了正则表达式的含义。摆脱他们。

re = /Math\.cos|Math\.tan/g;
于 2013-09-09T04:39:58.303 回答
1

您有方括号(表示匹配括号之间的任何字符)而不是括号(表示将这些不同的表达式分组/返回为匹配项),请尝试:

 re=/(Math\.cos|Math\.tan)/g;
于 2013-09-09T04:41:34.310 回答