Je possède ce XML:expressions régulières
<[Results]>
<[Data]>
<[div]>THIS IS HTML! <[/div]>
<[/Data]>
<[/Results]>
Quelle est l'expression régulière pour obtenir <[div]>THIS IS HTML!<[/div]>
?
Je possède ce XML:expressions régulières
<[Results]>
<[Data]>
<[div]>THIS IS HTML! <[/div]>
<[/Data]>
<[/Results]>
Quelle est l'expression régulière pour obtenir <[div]>THIS IS HTML!<[/div]>
?
Essayez ceci:
<\[div\]>.+?<\[\/div\]>
Est-ce que tout correspondre à l'intérieur des balises div.
Bien que je suis conforme à vous dire que cette regex est pas parfait. Si vous voulez analyser XML, vous devez utiliser un analyseur XML.
Lisez attentivement le document this post sur le sujet.
Vous devriez éviter d'attraper < dans le corps si vous avez 2 DIV ou plus. Essayez ceci:
< [div]> [^ <] < [/ div]>
Et ce qui est censé se produire quand la chaîne ressemble à '<[div]>
Contenu ici ...
<[/div]>'. Je suppose que ça devrait correspondre à ça aussi ... – ArjanC'est vrai. Les expressions internes doivent accepter toutes les balises mais <[/div]> –
Mais '<[div]><[div]> Contenu ici ... <[/div]><[/div]>' est également valide ... Vraiment, si vous voulez analyser XML, utilisez un analyseur XML. – Arjan
http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html
Ne pas analyser XML avec regexes. Ne pas.
Si vous pouvez convertir en XML réelle, au lieu d'une chaîne, vous pouvez utiliser la méthode getElementsByTagName pour trouver toutes les balises div et la innerHTML (?) Propriété (ou innerText/textContent en fonction de ce que vous voulez)
C'est un peu étrange XML. –
Très étrange XML en effet. –
Vous trouverez cette question d'une grande utilité pour vos besoins: http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags –