Ik moet al deze openingscodes overeen laten komen:
<p>
<a href="foo">
Maar niet met deze:
<br />
<hr class="foo" />
Ik heb dit bedacht en wilde zeker weten dat ik het goed heb. Ik vang alleen de a-z
op.
<([a-z]+) *[^/]*?>
Ik geloof dat het er staat:
/
, danHeb ik dat goed? En nog belangrijker, wat denk jij?
Je kunt [X]HTML niet parsen met regex. Omdat HTML niet door regex kan worden geparsed. Regex is geen gereedschap dat gebruikt kan worden om HTML correct te parsen. Zoals ik hier al zo vaak in HTML-en-regex-vragen heb geantwoord, kun je met het gebruik van regex geen HTML consumeren. Reguliere uitdrukkingen zijn een hulpmiddel dat niet verfijnd genoeg is om de constructies te begrijpen die door HTML worden gebruikt. HTML is geen reguliere taal en kan dus niet door reguliere expressies worden geparseerd. Regex-query's zijn niet toegerust om HTML in zijn zinvolle onderdelen te ontleden. zo vaak, maar het dringt niet tot me door. Zelfs verbeterde onregelmatige reguliere expressies, zoals gebruikt door Perl, zijn niet opgewassen tegen de taak om HTML te ontleden. Je zult me nooit doen barsten. HTML is een taal die zo complex is, dat hij niet met reguliere expressies geparset kan worden. Zelfs Jon Skeet kan HTML niet parseren met reguliere expressies. Iedere keer als je HTML met reguliere expressies probeert te parsen, huilt het onheilige kind het bloed van maagden, en Russische hackers pwnen je webapp. Het parseren van HTML met regex roept bezoedelde zielen op in het rijk der levenden. HTML en regex gaan samen als liefde, huwelijk, en rituele kindermoord. Het
inal snuf
fing of the lies of Man ALL IS LOŚ͖̩͇̗̪̏̈́T ALL IS LOST the pon̷y he comes he c̶̮om ͎a̧͈͖r̽̾̈́͒͑e
not rè̑ͧ̌aͨl̘̝̙̃ͤ͂̾̆ ZA̡͊͠͝LGΌ ISͮ̂҉̯͈͕̹̘̱ TO͇̹̺ͅƝ̴ȳ̳ TH̘Ë͖́̉ ͠P̯͍̭O̚N̐Y̡ H̸̡̪̯ͨ͊̽̅̾̎Ȩ̬̩̾͛ͪ̈́̀́͘ ̶̧̨̱̹̭̯ͧ̾ͬC̷̙̲̝͖ͭ̏ͥͮ͟Oͮ͏̮̪̝͍M̲̖͊̒ͪͩͬ̚̚͜Ȇ̴̟̟͙̞ͩ͌͝S̨̥̫͎̭ͯ̿̔̀ͅ
Heb je al geprobeerd een XML parser te gebruiken?
Moderator's Opmerking
Deze post is vergrendeld om ongepaste bewerkingen aan de inhoud te voorkomen. Het bericht ziet er precies zo uit als het hoort uit te zien - er zijn geen problemen met de inhoud. Gelieve het niet te markeren voor onze aandacht.
Je wilt de eerste >
niet voorafgegaan door een /
. Kijk hier voor details over hoe je dat moet doen. Het'wordt negatieve lookbehind genoemd.
Echter, een naïve implementatie van dat zal eindigen met <bar/></foo>
in dit voorbeeld document
<foo><bar/></foo>
Kun je wat meer informatie geven over het probleem dat je probeert op te lossen? Ben je tags programmatisch aan het itereren?