2014-07-23 29 views
1

文本要刪除:的JavaScript,動態正則表達式,替換一切之間,包括分隔符


我想從文件中刪除一行文本。 <%'/testStart'%><%'/testEnd'%>之間的所有內容,包括分隔符。

<%'/testStart'%> Some text with other random characters in between <%'/testEnd'%>

的JavaScript:


我已經沒有運氣嘗試這樣做。那麼,有一點我可以用RegExp中的硬編碼工作。但我嘗試了很多方法,我不記得我做了什麼。基本上我認爲我只是沒有正確地逃避某些事情。

var p  = "/test"; //this is dynamic 

var start = "<%'" + p + "Start" + "'%>"; 
var end  = "<%'" + p + "End" + "'%>"; 

var regex = new RegExp("\\" + start + "[^:]\\" + end); 
var newData = data.replace(regex,""); 

預期結果:


完全刪除此行。

<%'/testStart'%> Some text with other random characters in between <%'/testEnd'%> 

任何幫助,非常感謝。謝謝,

回答

3

比賽裏面搭配慵懶.*?

".*?"

var regex = new RegExp(start + ".*?" + end); 

更換你的內在部分"[^:]\\"的效果是匹配的一切行動,以結束參數。

說明

.*?星量詞由?製造「懶」,這樣的點只匹配根據需要允許下一個標記匹配(最短匹配)儘可能多的字符。如果沒有?.*首先匹配整個字符串,然後只根據需要回溯以允許下一個標記匹配(最長匹配)。

+0

完美的作品。謝謝! –

+0

非常歡迎,謝謝你的綠色複選標記。 :) – zx81

相關問題