![](/img/trans.png)
[英]remove last part of string following '&&&' with JavaScript Regex
[英]How to remove part of string with javascript regex without repeating delimiting strings
我希望在兩個已知子字符串( <foo>
和</foo>
)之間刪除未知子字符串。 例如,我想轉換:
hello <foo>remove me</foo>
至:
hello <foo></foo>
我可以這樣做:
s = ...
s.replace(/<foo>.*?<\/foo>/, '<foo></foo>')
但我想知道是否有辦法在不重復正則表達式和替換文本中的已知子串( <foo>
和</foo>
)的情況下執行此操作。
您可以捕獲captured group
標記,並在以后將其用作后向引用:
var repl = s.replace(/<(foo)>.*?<\/\1>/, '<$1></$1>');
//=> hello <foo></foo>
注意\\1
和$1
是對捕獲的組#1的反向引用。
使用分組嘗試以下正則表達式。
(?:<foo>)(.*?<\/foo>)
圖示 : Debuggex演示
示例代碼:
var re = /(?:<foo>)(.*?<\/foo>)/;
var str = 'hello <foo>remove me</foo>';
var subst = '<foo></foo>';
var result = str.replace(re, subst);
輸出:
hello <foo></foo>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.