[英]Replace characters at end of string, until it reaches a certain character regex
可以說我的字符串是這個,結尾可能有空格。
var s = "<a href="/FOO/tags/EDM">EDM</a>/ <a href="/FOO/tags/EDM">EDM</a>/ / / / "
我想在最后一個封閉錨標記之后替換/的每個實例。 這是我嘗試過的:
s.replace(/[</a>](.*)$/, '');
但沒有得到預期的結果,請問我為什么/做錯了什么詳細的解釋?
謝謝!
使用這種模式
(^.*<\/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
將<\\/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)
之后沒有任何內容\\(plus optional white space)
演示 : http : //regex101.com/r/yA0aS0/1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.