我正在尝试找到一个正则表达式,该表达式将匹配特定语言标记的最后一次出现,之后找不到其他语言标记。
_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
答案 0 :(得分:2)
这应该这样做:
<!doctype html>
<head>
<base href="https://polygit.org/components/">
<script src="webcomponentsjs/webcomponents-lite.min.js"></script>
<link href="polymer/polymer.html" rel="import"/>
<link href="paper-ripple/paper-ripple.html" rel="import"/>
</head>
<body>
<test-elem></test-elem>
<dom-module id="test-elem">
<template>
<style>
div {
width: 150px;
position: relative;
padding: 15px;
border: 1px solid black;
}
button { color: green; border: 1px solid green; }
</style>
<div>
<paper-ripple></paper-ripple>
<button>Button</button>
</div>
</template>
<script>
Polymer({ is: 'test-elem'})
</script>
</dom-module>
</body>
以下a fiddle显示了它在您的测试用例中的表现。
如果您想匹配整个字符串,请在表达式前加_en(\.|$)(?!.*_[a-z]{2}(\.|$))
前缀,后缀加^.*
。
.*$
结果显示在this fiddle。