![](/img/trans.png)
[英]How do I replace with filter function to the following for looping in JavaScript
[英]How do I replace only a portion of the following regex (JavaScript)?
我正在学习正则表达式和文件保存。 作为练习,我想将文件中的每个func
转换为function
:
data.replace(/func\((.*)\)/g, 'function')
问题是文件中的func
现在最终像这样结束:
var thisfunc = function {
}
代替这个:
var thisfunc = function() {
}
我该怎么做,以便正则表达式仅替换func
关键字?
编辑:
输入:
fs.readFile(filename, 'utf8', func(err, data) {
if (err) throw err
console.log('OK: ' + filename)
var newData = data.replace(/func\((.*)\)/g, 'function')
console.log(newData)
})
var thisfunc = func() {
}
仅匹配并替换开头的括号,
特别是如果可以像func(a, func(b))
那样嵌套它们:
data.replace(/func\(/g, 'function(')
注意:在替换字符串需要对(
,请使用function\\(
,
在这里,您实际上需要一个肯定的前瞻性断言。 而且您不需要使用捕获组。
data.replace(/func(?=\(.*\))/g, 'function')
要么
.*?
这里将对任何字符进行零次或多次非贪婪匹配。
data.replace(/func(?=\(.*?\))/g, 'function')
(?=\\(.*?\\))
断言关键字func
必须带有一对括号,括号中可以包含或可以不包含参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.