La eliminación de todo lo que entre una etiqueta (incluyendo la propia etiqueta) utilizando expresiones regulares / Eclipse

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

  •  23-09-2019
  •  | 
  •  

Pregunta

Soy bastante nuevo para averiguar cómo funciona expresión regular, pero éste es simplemente frustrante.

Tengo un enorme documento XML con una gran cantidad de <description>blahblahblah</description> etiquetas. Quiero eliminar básicamente cualquier y todas las instancias de <description></description>.

Estoy usando Eclipse y probado unos cuantos ejemplos de expresiones regulares que he encontrado en línea, pero nada funciona.

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

En caso de que no trabajo?

EDIT:

Este es el código real.

<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>

No hay solución correcta

Otros consejos

No estoy familiarizado con Eclipse, pero yo esperaría que su servicio de búsqueda de expresiones regulares para utilizar expresiones regulares sabor incorporado en Java. Es probable que sólo tiene que marcar una casilla etiquetada "dotall" o "una sola línea" o algo similar, o puede añadir la correspondiente línea modificador de la expresión regular:

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

Esto permitirá que el . para que coincida con los saltos de línea, que no lo hace por defecto.

EDIT: Esto es suponiendo que hay son saltos de línea dentro del elemento <description>, que es la única razón que se me ocurre por qué su expresión regular no funcionaría. También estoy suponiendo que realmente está haciendo una búsqueda de expresiones regulares; es que en Eclipse automática, o tiene que elegir entre expresiones regulares y búsqueda literal?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top