我有一个这样的字符串,即文件名列表;
mouse.gifcat.jpgdog.pngwolf.tga...
它没有空格,它们是不同的文件格式。我可以保证扩展名总是 3 个字符长。
我想在此文本行中的文件之间插入“|”以获取 mouse.gif | 猫.jpg...
我可以对我期望的每个不同的扩展名使用 replace(/.ext/g, ".ext | ") ,但我想要一些多用途的东西。
正则表达式是什么?
或者
.replace(/(\....)(.)/g, '$1|$2')
像这样的东西:
.replace(/(\....)/g,"$1|")
也就是说,将文字.
与匹配\.
,后跟任意三个字符与...
,用括号捕获该组,以便您可以在替换字符串中将其用作$1
。
编辑:或者实际上你不需要括号,如果你使用$&
而不是$1
:
x.replace(/\..../g,"$&|")
虽然无论哪种方式它都会|
在字符串的末尾添加一个,所以也许:
.replace(/\..../g,"$&|").slice(0,-1)