我试图匹配linux中以下行的模式,
$(menu_no),ini_question3.vox,inv_question3.vox,inv_question3.vox,ini_question3.vox,to_question3.vox
从上面一行我需要找到重复的单词并用其他单词替换重复,
Ex:这里重复的一句是 inv_question3.vox,inv_question3.vox 我需要将其更改为 inv_question3.vox,end.vox
我试图使用下面的命令在vim编辑器中进行查找和替换,但它没有用,
:s/\(inv_question*.vox\),\(inv_question*.vox\)/\1,end.vox/g
答案 0 :(得分:0)
我不确定您要替换的内容,但如果您想匹配重复的字符串inv_question3.vox
,可以尝试:
let string = '$(menu_no),ini_question3.vox,inv_question3.vox,inv_question3.vox,ini_question3.vox,to_question3.vox';
let result = string.replace(/(inv_question\d\.vox\,){2,}/, '$1,end.vox,');
console.log(result)

\d
:只有1个号码。{2,}
:2次或更多次然后,用$1,end.vox,
代替$1
inv_question3.vox