2016-11-18 4 views
-3
<strong>Description</strong>         This is some test description 1<strong>Areas</strong> 

brauche ich möchte, um den Text zwischen (stark) Beschreibung (/ strong) (stark) Etwas (dies ändert, nicht immer Areas) (/ strong)Wie kann ich diese HTML mit Regex analysieren zu bekommen, was ich

Ich habe versucht mit dieser Regex 'Beschreibung (. +)' Aber ohne Ergebnisse.

Was wäre der richtige Ausdruck zu bekommen, ‚dies eine Testbeschreibung 1‘

* Ich Python Regex-Bibliothek

+0

poste den vollen HTML-Code .. –

Antwort

0

Es ist not recommended to parse HTML using regex

Wenn es etwas sehr einfach und nicht gerade ist Parsing können Sie versuchen, aber ich würde vorschlagen, einige HTML/XML-Parser zu verwenden. Sie können stattdessen Python HTML parser oder eine Bibliothek wie BeautifulSoup verwenden.

Wie auch immer, wenn Sie versuchen, die Daten zwischen den Tags zu extrahieren, müssen Sie klarer sein. Ich bin mir nicht sicher, ob Sie Text immer zwischen und Tags erhalten möchten. Wenn dies der Fall sollten Sie in der Lage sein, etwas zu tun:

import re 
matches = re.search(r'</strong>(.+)<strong>', '<strong>Description</strong>         This is some test description 1<strong>Areas</strong>') 
matches.group(1) # '         This is some test description 1' 

Wenn Sie etwas mehr spezifisch für Beschreibung öffnen und jeden anderen Text Schließen mögen, können Sie verwenden, um den regex sagen:

<strong>Description<\/strong>(.+)<strong>(.+)<\/strong> 

Aber auch hier würde ich Sagen Sie Ihnen, dass Sie sich einen aktuellen HTML/XML-Parser ansehen sollten.

+0

Ich benutze es aber für dieses spezifische Bit brauche ich Regex. Für den Rest hatte ich keine Probleme, aber die Sache ist. Die ganze Reihe von Seiten ist super strukturiert und für diese spezielle Sache finde ich Regex nützlich. –

+0

Ok, also überprüfe meine Antwort, wenn es für dich funktioniert. – danielfranca

Verwandte Themen