Qu'est-ce que l'expression regex pour CDATA

Salut j'ai un exemple CDATA ici

<![CDATA[asd[f]]]>

et

<tag1><![CDATA[asd[f]]]></tag1><tag2><![CDATA[asd[f]]]></tag2>

La CDATA regex que j'ai n'est pas en mesure de reconnaître ce

"<![CDATA["([^\]]|"]"[^\]]|"]]"[^>])*"]]>"

cela ne fonctionne pas trop

"<![CDATA["[^\]]*[\]]{2,}([^\]>][^\]]*[\]]{2,})*">"

Quelqu'un merci de me donner une regex pour <![CDATA[asd[f]]]>, j'ai besoin de l'utiliser dans Lex/Flex

: J'ai répondu à cette question, s'il vous plaît voter sur ma réponse, merci.

Il est difficile de dire si vous avez échappé à la droite breckets. Aussi le xml spécification dit le premier ]]> après le <!CDATA[ mettra fin à l'élément. Donc, tous les thats nécessaires est un non-greedy regex /<!\\[CDATA\[.*?\\]\\]>/s
Vous ne voulez pas utiliser " n'importe où dans cette RÉ.
Et... pourquoi ne pas simplement utiliser un analyseur XML et de travailler avec une arborescence DOM ou SAX-comme des flux d'événements?
Aimerais, sauf que les documents que j'ai reçus ne sont pas strictement XML

OriginalL'auteur Freddy Chua | 2011-01-06