0

我有一个这样的字符串,即文件名列表;

mouse.gifcat.jpgdog.pngwolf.tga...

它没有空格,它们是不同的文件格式。我可以保证扩展名总是 3 个字符长。

我想在此文本行中的文件之间插入“|”以获取 mouse.gif | 猫.jpg...

我可以对我期望的每个不同的扩展名使用 replace(/.ext/g, ".ext | ") ,但我想要一些多用途的东西。

正则表达式是什么?

4

2 回答 2

1

或者

.replace(/(\....)(.)/g, '$1|$2')
于 2013-03-19T04:31:39.357 回答
1

像这样的东西:

.replace(/(\....)/g,"$1|")

也就是说,将文字.与匹配\.,后跟任意三个字符与...,用括号捕获该组,以便您可以在替换字符串中将其用作$1

编辑:或者实际上你不需要括号,如果你使用$&而不是$1

x.replace(/\..../g,"$&|")

虽然无论哪种方式它都会|在字符串的末尾添加一个,所以也许:

.replace(/\..../g,"$&|").slice(0,-1)
于 2013-03-19T04:16:04.913 回答