簡體   English   中英

替換字符串末尾的字符,直到到達某個字符正則表達式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM