可以说我的字符串是这个,结尾可能有空格。

var s = "<a href="/FOO/tags/EDM">EDM</a>/ <a href="/FOO/tags/EDM">EDM</a>/ / / /  "


我想在最后一个封闭锚标记之后替换/的每个实例。这是我尝试过的:

s.replace(/[</a>](.*)$/, '');


但没有得到预期的结果,请问我为什么/做错了什么详细的解释?

谢谢!

最佳答案

<\/a>(\/\s*)+$替换为</a>

片段



var s = '<a href="/FOO/tags/EDM">EDM</a>/ <a href="/FOO/tags/EDM">EDM</a>/ / / /  ';

window.alert(
  "Before:\n" + s + "\n\n\n"
  + "After:\n" + s.replace(/<\/a>(\/\s*)+$/, '</a>')
);





说明


<\/a>匹配</a>
(\/\s*)匹配\,后跟可选的空格
+匹配先前的匹配次数
$确保在最后一个\(plus optional white space)之后找不到任何内容


另一个演示

演示:
http://regex101.com/r/yA0aS0/1

09-18 10:48