2011-08-12 126 views
0

我有這樣的XML:的Javascript正則表達式

<[Results]> 
    <[Data]> 
     <[div]>THIS IS HTML! <[/div]> 
    <[/Data]> 
<[/Results]> 

什麼是正則表達式來獲得<[div]>THIS IS HTML!<[/div]>

+1

這是一些奇怪的XML。 –

+0

確實很奇怪的XML。 –

+2

你會發現偉大的使用這個問題爲您的需求:http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags –

回答

0

試試這個:

<\[div\]>.+?<\[\/div\]> 

將匹配的div標籤裏的任何東西。

雖然我遵從,告訴你,該正則表達式是不是完美。如果你想解析XML,你應該使用XML解析器。

務必閱讀關於這個問題的徹底this post

-1

你應該避免捕捉<的體內,如果你有2倍或更多的DIV。試試這個:

< [DIV]> [^ <] < [/ DIV]>

+0

,什麼是應該發生的,當字符串看起來像在這裏...

<[/div]>''<[div]>

內容。我想這應該與太... – Arjan

+0

It's真實。內部表達式必須接受所有標記,但<[/div]> –

+0

但是'<[div]><[div]>這裏的內容... <[/div]><[/div]>'也是有效的......真的,如果你想解析XML,使用XML解析器。 – Arjan

0

如果你可以將它轉換爲實際的XML,而不是字符串,你可以使用的getElementsByTagName方法來查找所有div標籤和innerHTML的(?)財產(或取決於你想要什麼樣的innerText /的textContent)