我有以下的正則表達式:的Javascript分裂包括分隔符
(</?[a-z][a-z0-9]*[^<>]*>)
我有以下文字:
<DIV><P class='abc'>Hello <B>Mister</B>! How are you >..< doing? </P>
<I>I'm good</I></DIV>
現在,我想分裂每個標籤的文本:
<DIV>
<P class='abc'>
Hello
<B>
Mister
</B>
! How are you >..< doing?
</P>
<I>
I'm good
</I>
</DIV>
我怎樣才能用Javascript正則表達式呢?
是能夠得到它的工作,但不得不重新開始,因爲JavaScript不支持lookbehinds。
(基本上劈在html標籤,並保持分隔符)
編輯:
我與這個目標是使用HTML存儲格式。我想將上面的html提供給一個JavaScript對象。 JavaScript對象將格式與文本分開,並執行操作A來格式化對象,操作B用於常規文本。
我知道這聽起來有點含糊,但我不想透露太多關於該項目。
出於好奇,有沒有你想用正則表達式解析HTML理由嗎?除非你對輸入有很大的控制,[你可能有一些問題](http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html)。 – NT3RP
首先,你的HTML是無效的,因此很難分析 - '> .. <'應該被編碼爲'> ..&lt'。其次,[用正則表達式解析HTML會讓靈魂陷入生活的領域](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454# 1732454)。 – shesek