使用jquery替换将简单的正则表达式转换为正则表达式对象时遇到问题。

var st =  "saturate(0.2)"

// this is working
alert(st.replace(/saturate\(.*?\)/, "saturate(0.5)"))

// so why is this not working exactly the same?
var st =  "saturate(0.2)"
var regex = new RegExp("saturate\(.*?\)", "")
alert(st.replace(regex, "saturate(0.5)"))


http://jsfiddle.net/y6wGw/

最佳答案

您需要对字符串文字中的\字符进行转义:

var regex = new RegExp("saturate\\(.*?\\)", "")


Demonstration

09-07 04:03