[英]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.