正则表达式:匹配多个下划线后的字符但不包括下划线

Regex: Match Characters After Multiple Underscores but not including Underscore

我正在尝试获取以下字符串中每个新单词的首字母。

hello_world! hello___America! software-developer **for_life!?**

我整理了以下几乎可以到达那里的正则表达式:

(\b\w|(?=)_[^_])

问题是它还会复制下一个单词前面的下划线。

见截图:

我想要下划线(或下划线链)之后的字母,加上我已经用该正则表达式模式突出显示的所有其他单词的首字母。

我正在寻找的答案应该足够抽象,以捕获 letters/numbers/words 一个或多个下划线之间的分隔。

这是Rubular shortlink

您或许可以使用 positive look-behind 断言...

\b\w|(?<=_)[^_]
     ^^^^^^

demo on rubular