Javascript 正则表达式未按预期替换
我有一个用于构建vue项目的节点脚本。我需要从以下位置更新一些vue源链接:Javascript 正则表达式未按预期替换,javascript,node.js,regex,Javascript,Node.js,Regex,我有一个用于构建vue项目的节点脚本。我需要从以下位置更新一些vue源链接: :src="\'./src/img/\' 到 我的代码是: const regEx6=/:src=“”。\/src\/img/gi; 常量regEx7=/^:src=(?:“(?:\\\\'.\/src\/img\/\\\\\\\\\\\\\\'.\.\/src\/img\/)\)?$/gi; if(regEx6.test(fileContents | | regEx7.test(fileContents
:src="\'./src/img/\'
到
我的代码是:
const regEx6=/:src=“”。\/src\/img/gi;
常量regEx7=/^:src=(?:“(?:\\\\'.\/src\/img\/\\\\\\\\\\\\\\'.\.\/src\/img\/)\)?$/gi;
if(regEx6.test(fileContents | | regEx7.test(fileContents))){
console.log(
`Vue指令:找到src。将尝试更新链接。${warning}`
);
}
如果(
regEx6.test(文件内容)||
regEx7.test(文件内容)
) {
让distFile=fileContents
.replace(regEx6,`:src=“”./img`)
.replace(regEx7,`src=“\\'./img/\\'`);
使用
const regEx7=/:src=“\\'.\.\/src\/img\/\'/gi;
.替换(regEx7,“src=“\\'./img/\\'”);
请参阅。无需在正则表达式中转义“
解释
--------------------------------------------------------------------------------
:src=" ':src="'
--------------------------------------------------------------------------------
\\ '\'
--------------------------------------------------------------------------------
' '\''
--------------------------------------------------------------------------------
\. '.'
--------------------------------------------------------------------------------
\/ '/'
--------------------------------------------------------------------------------
src 'src'
--------------------------------------------------------------------------------
\/ '/'
--------------------------------------------------------------------------------
img 'img'
--------------------------------------------------------------------------------
\/ '/'
--------------------------------------------------------------------------------
\\ '\'
--------------------------------------------------------------------------------
' '\''
使用
const regEx7=/:src=“\\'.\.\/src\/img\/\'/gi;
.替换(regEx7,“src=“\\'./img/\\'”);
请参阅。无需在正则表达式中转义“
解释
--------------------------------------------------------------------------------
:src=" ':src="'
--------------------------------------------------------------------------------
\\ '\'
--------------------------------------------------------------------------------
' '\''
--------------------------------------------------------------------------------
\. '.'
--------------------------------------------------------------------------------
\/ '/'
--------------------------------------------------------------------------------
src 'src'
--------------------------------------------------------------------------------
\/ '/'
--------------------------------------------------------------------------------
img 'img'
--------------------------------------------------------------------------------
\/ '/'
--------------------------------------------------------------------------------
\\ '\'
--------------------------------------------------------------------------------
' '\''
你的括号在第一个
if
中放错了位置。它应该像第二个if
一样。你缺少了第二个if
末尾的}
。为什么你需要两个条件相同的if
语句?只需将控制台.log
放在第二个控制台的开头。似乎使用带有全局ctrl+r的像样的项目IDE比编写逻辑要快得多……如果,则括号放错了第一个。它应该类似于第二个if
。您缺少第二个if
末尾的}
。为什么需要两个条件相同的if
语句?只需将控制台.log
放在第二个控制台的开头。似乎使用带有全局ctrl+r的体面项目IDE比编写逻辑要快得多…谢谢。Regex不是我的专长。我找到了一个在线发电机,它完成了这个任务。但不如人类:)谢谢。Regex不是我的专长。我找到了一个在线发电机,它完成了这个任务。但不如人类:)