如何匹配第一个字母的所有实例?

时间:2017-06-22 16:22:40

标签: regex

例如,对于此字符串,我想匹配所有Aa

" A ll a pples m a ke good c a ke。&# 34;

这是我做的:/(.)[^.]*\1*/ig

我首先获得了群组中的第一个角色,可以是任何角色:(.)然后我添加了[^.]*,因为我不想匹配任何其他角色。 ;第一个。最后我添加了\1*因为我想再次匹配第一个字符。我尝试过的所有其他类似变化似乎都无法发挥作用。

1 个答案:

答案 0 :(得分:2)

你正在尝试构建的正则表达式将捕获第一个字符,然后使用负向前瞻(tempered dot)尽可能多地捕获相同字符:

(?i)(\w)(?:(?!\1).)*

捕获第1组会保留您需要的角色。在live demo上试一试。

如果正则表达式引擎支持\K匹配重新设置令牌,那么您可以将其附加到上面的正则表达式only match desired part

(?i)(\w)(?:(?!\1).)*\K