Regex Grunt正则表达式语法

Regex Grunt正则表达式语法,regex,gruntjs,Regex,Gruntjs,我想使用grunt字符串替换替换字符串。不幸的是,我的RexEx不工作,即使在regex101中完全匹配 此模式应匹配所有CSS链接: <link href=\"css\/[a-zA-Z\-]+\.css\"[a-zA-Z=\"\/ ]+> <link href="css/normalize.css" > <link href="css/normalize.css" rel="stylesheet" type="text/css"> <link hre

我想使用grunt字符串替换替换字符串。不幸的是,我的RexEx不工作,即使在regex101中完全匹配

此模式应匹配所有CSS链接:

<link href=\"css\/[a-zA-Z\-]+\.css\"[a-zA-Z=\"\/ ]+>

<link href="css/normalize.css" >
<link href="css/normalize.css" rel="stylesheet" type="text/css">
<link href="css/components.css" rel="stylesheet" type="text/css">
<link href="css/style-sheet.css" rel="stylesheet" type="text/css">
”,
替换:“asdf”
}]
}
}
},
也许Grunt期望有一种特殊的开始/结束/转义模式

根据您显示的文件部分,我在网上搜索了“grunt字符串替换”。这让我想到了一个例子:

options: {
  replacements: [{
    pattern: /\/(asdf|qwer)\//ig,
    replacement: '"$1"'
  }, {
    pattern: ',',
    replacement: ';'
  }]
}
请注意,这不是JSON,而是一个实际的JavaScript文件(
Gruntfile.js
,而不是
Gruntfile.JSON
),因此正则表达式不是包含要匹配的模式的字符串,而是JavaScript正则表达式文本。MDN是学习JS的一个很好的资源,并详细解释了这种文字语法

简而言之,它需要包含在
/whatever/
中,而不是
'whatever'

options: {
  replacements: [{
    pattern: /\/(asdf|qwer)\//ig,
    replacement: '"$1"'
  }, {
    pattern: ',',
    replacement: ';'
  }]
}