Tengo que hacer coincidir todas estas etiquetas de apertura:
<p>
<a href="foo">
Pero no estas:
<br />
<hr class="foo" />
Se me ocurrió esto y quería asegurarme de que lo he hecho bien. Sólo estoy capturando la "a-z".
<([a-z]+) *[^/]*?>
Creo que dice:
/
, entonces¿Estoy en lo cierto? Y lo que es más importante, ¿qué opinas?
No se puede analizar [X]HTML con regex. Porque el HTML no puede ser analizado por regex. Regex no es una herramienta que se pueda utilizar para analizar correctamente el HTML. Como he respondido aquí tantas veces en preguntas sobre HTML y regex, el uso de regex no le permitirá consumir HTML. Las expresiones regulares son una herramienta que no es lo suficientemente sofisticada para entender las construcciones empleadas por el HTML. El HTML no es un lenguaje regular y por lo tanto no puede ser analizado por expresiones regulares. Las consultas Regex no están equipadas para descomponer el HTML en sus partes significativas. tantas veces pero no me llega. Incluso las expresiones regulares irregulares mejoradas que utiliza Perl no están a la altura de la tarea de analizar el HTML. Nunca me harás descifrar. HTML es un lenguaje lo suficientemente complejo como para no poder ser analizado por expresiones regulares. Ni siquiera Jon Skeet puede analizar HTML mediante expresiones regulares. Cada vez que intentas parsear HTML con expresiones regulares, el niño impío llora la sangre de las vírgenes, y los hackers rusos patean tu webapp. Parsear HTML con regex convoca a las almas manchadas en el reino de los vivos. HTML y regex van juntos como el amor, el matrimonio y el infanticidio ritual. El , la pestilente slithy regex-infection will devorar su parser HTML, aplicación y existencia para siempre como Visual Basic sólo que peor viene él comes no fight he com̡e̶s, ̕h̵is un̨ho͞ly radiańcé destro҉ying all enli̍̈́̂̈́ghtenment, etiquetas HTML lea͠ki̧n͘g fr̶ǫm ̡yo͟ur eye͢s̸ ̛l̕ik͏e liquid pain, el canto de la re̸gular expresión parsada extinguirá las voces del hombre mortal de el spaquí puedo verlo puedes ver ̲͚̖͔̙î̩́t̲͎̩̱͔́̋̀ es hermoso tel final snuf
fing dela mentiras del Hombre TODO ES LOŚ͖̩͇̗̪̏̈́T ALL ES LOST the pon̷y he comes he c̶̮omes comes the ichor permeates all MY FACE MI CARA ᵒh dios no NOO̼OO NΘ para the an*̶͑̾̾̅ͫ͏̙̤g͇̫͛͆̾ͫ̑͆l͖͉̗̩̳̟̍ͫͥͨe̠̅s ͎a̧͈͖r̽̾̈́͒͑e
not rè̑ͧ̌aͨl̘̝̙̃ͤ͂̾̆ ZA̡͊͠͝LGΌ ISͮ̂҉̯͈͕̹̘̱ TO͇̹̺ͅƝ̴ȳ̳ TH̘Ë͖́̉ ͠P̯͍̭O̚N̐Y̡ H̸̡̪̯ͨ͊̽̅̾̎Ȩ̬̩̾͛ͪ̈́̀́͘ ̶̧̨̱̹̭̯ͧ̾ͬC̷̙̲̝͖ͭ̏ͥͮ͟Oͮ͏̮̪̝͍M̲̖͊̒ͪͩͬ̚̚͜Ȇ̴̟̟͙̞ͩ͌͝S̨̥̫͎̭ͯ̿̔̀ͅ
Has probado a utilizar un analizador XML en su lugar?
Nota del moderador
Este post está bloqueado para evitar ediciones inapropiadas en su contenido. El post se ve exactamente como se supone que se ve - no hay problemas con su contenido. Por favor, no lo marque para llamar nuestra atención.
Quieres que el primer >
no esté precedido por un /
. Mira aquí para saber cómo hacerlo. Se conoce como lookbehind negativo.
Sin embargo, una implementación ingenua de esto terminará coincidiendo con <bar/></foo>
en este documento de ejemplo
<foo><bar/></foo>
¿Puede proporcionar un poco más de información sobre el problema que está tratando de resolver? ¿Estás iterando a través de las etiquetas de forma programada?