Regex: obtener atributos html
Frecuentes
Visto 65 veces
0
Intento obtener todos los atributos html, pero obtengo solo uno que encapsula a los demás.
mi patrón es:
(\S+)=((".*")|('.*')|(\S*(?=(\s+))))
El contenido es:
<a href="html.aspx" target="_blank" />
Y solo regresa un matche:
- href="html.aspx" objetivo="_blank"
Pero quiero que sea:
- href="html.aspx"
- target = "_ en blanco"
Cualquier ayuda será apreciada.
1 Respuestas
2
Es porque estás usando la coincidencia codiciosa (la predeterminada) con .*"
que seguirá adelante hasta que encuentre el pasado "
. Prueba esta expresión regular:
(\S+)=((".*?")|('.*?')|(\S*(?=(\s+))))
La .*?"
le dice a la expresión regular que busque hasta el en el primer "
, no el último.
contestado el 03 de mayo de 12 a las 19:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas regex or haz tu propia pregunta.