假设我的字符串是这样的,最后可能有空格。
var s = "<a href="/FOO/tags/EDM">EDM</a>/ <a href="/FOO/tags/EDM">EDM</a>/ / / / "
我想在最后一个关闭锚标记之后替换/的每个实例。以下是我尝试过的内容:
s.replace(/[</a>](.*)$/, '');
但是没有得到结果,我能否详细解释为什么/我做错了什么?
三江源!
答案 0 :(得分:1)
使用此模式
(^.*<\/a>)|.*$
并替换为$1
( # Capturing Group (1)
^ # Start of string/line
. # Any character except line break
* # (zero or more)(greedy)
< # "<"
\/ # "/"
a> # "a>"
) # End of Capturing Group (1)
| # OR
. # Any character except line break
* # (zero or more)(greedy)
$ # End of string/line
答案 1 :(得分:1)
将<\/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