validate test regular online one golang java php regex xml perl

java - test - Encuentra todo entre dos etiquetas XML con RegEx



regex perl online (3)

En RegEx , quiero encontrar la etiqueta y todo entre dos XML tags , como la siguiente:

<primaryAddress> <addressLine>280 Flinders Mall</addressLine> <geoCodeGranularity>PROPERTY</geoCodeGranularity> <latitude>-19.261365</latitude> <longitude>146.815585</longitude> <postcode>4810</postcode> <state>QLD</state> <suburb>Townsville</suburb> <type>PHYSICAL</type> </primaryAddress>

Quiero encontrar la etiqueta y todo entre primaryAddress , y borrar eso.

Todo lo que hay entre la etiqueta primaryAddress es una variable, pero quiero eliminar toda la etiqueta y las primaryAddress siempre que reciba primaryAddress .

¿Alguien tiene alguna idea de cómo hacer eso?


No es una buena idea usar expresiones regulares para analizar HTML / XML ...

Sin embargo, si quieres hacerlo de todos modos, busca el patrón de expresión regular

<primaryAddress>[/s/S]*?<//primaryAddress>

y lo reemplaza con una cadena vacía ...


Debería poder hacer coincidirlo con: /<primaryAddress>(.+?)<//primaryAddress>/

El contenido entre las etiquetas estará en el grupo combinado.


esto puede capturar la mayoría de las parejas de etiquetas de la capa más externa, incluso con atributos en las etiquetas laterales o sin ellas.

(<!--((?!-->).)*-->|</w*((?!//<).)*//>|<(?<tag>/w+)[^>]*>(?>[^<]|(?R))*<///k<tag>/s*>)

editar: como se menciona en el comentario anterior, la expresión regular nunca es suficiente para analizar XML, intentar modificar la expresión regular para que se ajuste a más situaciones solo la hace más larga pero aún inútil