Suppression de tout entre une étiquette (y compris l'étiquette lui-même) en utilisant Regex / Eclipse

StackOverflow https://stackoverflow.com/questions/2541676

  •  23-09-2019
  •  | 
  •  

Question

Je suis assez nouveau pour comprendre comment fonctionne Regex, mais celui-ci est juste frustrant.

J'ai un document XML massif avec beaucoup de balises <description>blahblahblah</description>. Je veux enlever essentiellement tout et toutes les instances de <description></description>.

J'utilise Eclipse et ai essayé quelques exemples de Regex que j'ai trouvé en ligne, mais rien ne fonctionne.

<description>(.*?)</description>

devrait-il pas que le travail?

EDIT:

Voici le code réel.

<description><![CDATA[<center><table><tr><th colspan='2' align='center'><em>Attributes</em></th></tr><tr bgcolor="#E3E3F3"><th>ID</th><td>308</td></tr></table></center>]]></description>

Pas de solution correcte

Autres conseils

Je ne suis pas familier avec Eclipse, mais je me attends à sa facilité de recherche regex à utiliser intégré saveur regex Java. Vous avez probablement juste besoin de cocher une case « DOTALL » ou « une seule ligne » ou quelque chose de similaire, ou vous pouvez ajouter le modificateur en ligne correspondant à l'expression rationnelle:

(?s)<description>(.*?)</description>

Cela permettra au . au match retour à la ligne, ce qui ne pas par défaut.

EDIT: Ceci est en supposant qu'il sont dans les nouvelles lignes l'élément <description>, qui est la seule raison pour laquelle je peux penser pourquoi votre regex ne fonctionnerait pas. Je suis aussi en supposant que vous êtes vraiment en train de faire une recherche regex; est que automatique dans Eclipse, ou avez-vous de choisir entre regex et recherche littérale?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top