Wie extrahiere ich alle Kommentare im HTML-Stil aus einem Dokument mit Python?HTML-Kommentare in Python mit regex oder lxml extrahieren?
Ich habe versucht, eine Regex:
text = 'hello, world <!-- comment -->'
re.match('<!--(.*?)-->', text)
Aber es produziert nichts. Ich verstehe das nicht, da die gleiche Regex funktioniert in der gleichen Zeichenfolge bei https://regex101.com/
UPDATE: Mein Dokument ist eigentlich eine XML-Datei, und ich Parsing das Dokument mit Pyquery (basierend auf Lxml), aber ich don glaube nicht, dass lxml kann extract comments that aren't inside a node. Dies ist, was das Dokument wie folgt aussieht:
<?xml version="1.0" encoding="UTF-8"?>
<clinical_study rank="220398">
<intervention_browse>
<!-- CAUTION: The following MeSH terms are assigned with an imperfect algorithm -->
<mesh_term>Freund's Adjuvant</mesh_term>
<mesh_term>Keyhole-limpet hemocyanin</mesh_term>
</intervention_browse>
<!-- Results have not yet been posted for this study -->
</clinical_study>
UPDATE 2: Vielen Dank für die andere Antwort darauf hindeutet, aber ich bin das Dokument bereits ausgiebig mit lxml Parsen und will nicht alles mit BeautifulSoup neu zu schreiben. Habe Titel entsprechend aktualisiert.
Dies wäre trivial und zuverlässiger mit lxml oder beautifulsoup –
@MaxU Ich benutze bereits lxml (pyquery), also möchte ich nicht wirklich zu BeautifulSoup wechseln, aber danke. Ich habe die Frage aktualisiert, um klar zu sein, dass ich glücklich bin, regex oder lxml zu verwenden. – Richard
@Padraic Ich bin mir nicht sicher, ob es tatsächlich in Lxml möglich ist, siehe das Update. – Richard