正则表达式替换一个字符,但只有第一个,如果不止一个

时间:2015-10-21 03:17:49

标签: regex

想要替换所有的char,但只有第一次出现,如果后面跟着任意数量的char。

示例:

This_is__a___Test

Replace _ with *

This*is*_a*__Test

在Scala中执行此操作,但任何语言都会有所帮助

2 个答案:

答案 0 :(得分:3)

使用否定的lookbehind:

(?<!_)_

这匹配不在另一个下划线之前的下划线。 Regex101

答案 1 :(得分:0)

我这样做是为了在Javascript中练习,以防其他人来到它。

"This_is__a___Test".replace(/_+/g, function (match) {
  return '*' + match.slice(1);
});