Estoy intentando crear una expresión regular que coincida con texto que no está rodeado de etiquetas XHTML de párrafo. Por ejemplo, en abcde debería encontrar el texto entero, en abcd<p>defg</p> solo abcd, y en <p>abcde</p> no debería coincidir con nada.
Lo único que se me ocurre es utilizar aserciones, y he construido esta expresión:
Código:
Pero no funciona, pues coincide con cualquier texto aunque esté encerrado entre etiquetas de párrafo —ya que el .+ coincide, capturando las etiquetas también. Y si cambio la ambición de los operadores me coincide letra a letra con todas las que tenga el texto —pues .+ pasa a coincidir con una sola letra./((?<!<p>).+(?!<\/p>))/
¿Se os ocurre alguna idea? Gracias por vuestro tiempo.