2016-09-24 77 views
-2

我的Sublime Text中有HTML代碼,我想用我的Sublime Text中的代碼替換在Sublime Text中查找並替換,任何人都可以幫助我?Sublime Text Regex一次性替換許多字符串

我有這樣的代碼

</div> 
<li>lorem</li> 
<li>ipsum</li> 
<div> 

我想更換

</div> 
<li> 

</div> 
<ul> 
<li> 

</li> 
<div> 

</li> 
</ul> 
<div> 

但是我想同時更換。我怎樣才能做到這一點? 同時替換許多不同的字符串

+0

[強制性](http://stackoverflow.com/questions/1732348/regex-match-open標籤都有效,除非-XHTML-自足標籤)。回家信息 - ***不要使用正則表達式來處理HTML。使用HTML解析器*** – MattDMo

+0

您好MattDMo,我問如何在Sublime Text中進行更改,而不是HTML –

+0

我從來沒有在HTML中做過任何說明。這個任務*可以在Sublime中使用多個搜索和替換步驟進行,但這不是重點。關鍵是你應該使用HTML **解析器**來做到這一點,而不是**正則表達式。如果您瞭解Python,請使用['beautifulsoup4'](https://www.crummy.com/software/BeautifulSoup/)。對於Ruby,請嘗試[Nokogiri](http://www.nokogiri.org/)。對於Java,請嘗試['jsoup'](https://jsoup.org/)。對Perl使用['HTML :: Parser'](http://search.cpan.org/dist/HTML-Parser/Parser.pm)。任何其他語言,只是谷歌。 – MattDMo

回答

0

試試這個。首先,你需要把代碼放到一個字符串,然後用一個簡單的替換:

var code = '</div><li>lorem</li><li>ipsum</li><div></div><li>lorem</li><li>ipsum</li><div></div><li>lorem</li><li>ipsum</li><div></div><li>lorem</li><li>ipsum</li><div>'; 
 

 
var newCode = code.replace(/<\/div>\s*?<li>/g, '</div><ul><li>').replace(/<\/li>\s*?<div>/g, '</li></ul><div>'); 
 

 
document.getElementById('output').innerHTML = newCode;
<div id = "output"></div>

+0

不是HTML而是Sublime Text –