我试图找到一个正则表达式,它将匹配特定语言标记的最后一次出现,之后没有找到其他语言标记.
>特定语言标签:_en
>语言标签:_ [a-z] {2}
例如,模式应匹配以下所有内容:
title_en
components_en.video.title
components_en.video.title_en
components_en.video.the_end
components_es.video.title_en
此外,该模式不应与以下任何一个匹配:
title_es
components_es.video.title
components_en.video.title_es
components_es.video.the_end
最佳答案 这应该这样做:
_en(\.|$)(?!.*_[a-z]{2}(\.|$))
这是a fiddle,展示了它在您的测试用例中的表现.
如果要匹配整个字符串,请在表达式前加上^.*,后缀加上.* $.
^.*_en(\.|$)(?!.*_[a-z]{2}(\.|$)).*$
结果显示于this fiddle.