javascript正則表達式:匹配所有html標簽


在面試的過程中遇到一個這樣的題目:

比如有一段HTML字符串:

var string='<div class"test">Test a code</div><em>I am a girl.</em>'; 要求寫一個匹配HTML 標簽的正則表達式,並且替換掉所有的標簽。

 

html標簽有<h1></h1>這種成對的,也有<br/>這種自閉合的,更多的是<img style=”….” width=”22″ />這種混合了很多字符的。那要怎么把他們都匹配呢?

其實匹配html標簽的正則表達式很短,如下:

<[^>]+>

就這樣,沒了?是的。你驚訝嗎?

這個正則表達式也是收集於網絡,但是我可以看懂,首先,html標簽肯定是以<符號開始的,以>符號結束(不管是不是自閉合),只是中間有點糾結,可能有字符,數字,引號,換行符——但是,卻萬萬沒有>,因為有它的話html標簽就結束了,所以正則表達式中間是[^>]+,表示“除了>符號外的任何1個以上的字符”。

舉例如下:


var string='<div class"test">Test a code</div><em>I am a girl.</em>';

正則:

var reg=/<[^>]+>/gim;
string.replace(reg,""); 

 

輸出:
Test a codeI am a girl.



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM