2015-10-21 65 views
1

我有這樣的結果字符串:如何刪除<br>在JavaScript中使用正則表達式的開始和結束的字符串?

<br><br><br>This is an example!<br>Test1!<br>Test2!<br><br> 

嘗試代碼:

var string = "<br><br><br>This is an example!<br>Test1<br>Test2<br><br>"; 

var remove = string.replace(/^(<br>)+/g, ""); 
console.log(remove); 

但是,當我在(<br>)末增加$這些代碼是僅去除第一BR在一個字符串,所以我的代碼將失敗。我的問題是如何在字符串的開始和結尾刪除<br>

預期輸出:使用的console.log時

This is an example!<br>Test1!<br>Test2! 
+1

發送錯誤?我幾乎不能相信。哪一個?你到底在哪裏加了'$'? – Bergi

+0

我的意思是它什麼都不會做。我會拋出一個錯誤。 – aldrin27

+0

應該像reg exp一樣修剪空白 – epascarello

回答

2

你靠近,你要找什麼是交替|

var remove = string.replace(/^(<br>)+|(<br>)+$/g, ""); 

,將匹配^(<br>)+(<br>)+$,由於你的正則表達式是全局的,所以這兩個事件都將被替換。

活生生的例子:

var string = "<br><br><br>This is an example!<br>Test1<br>Test2<br><br>"; 
 

 
var remove = string.replace(/^(<br>)+|(<br>)+$/g, ""); 
 
snippet.log(remove);
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 --> 
 
<script src="//tjcrowder.github.io/simple-snippets-console/snippet.js"></script>

我也將取代與非捕獲組((?:...))捕獲組,但是這可能只是我是OTT:

var remove = string.replace(/^(?:<br>)+|(?:<br>)+$/g, ""); 
+1

對我來說太快了! –

+0

@bergi:是的,這是更好的措辭,謝謝。 –

+0

謝謝先生@ T.J.Crowder爲我工作。 – aldrin27

相關問題