Regexp für HTML-Tags mit Matlab

7

Ich suche nach einer Möglichkeit, regexp zu verwenden, um alle HTML-Tags aus einer Zeichenfolge zu entfernen.
Also, wenn ich <HTML><b><FONT color="red" size="3">Hello</FONT></b></HTML> habe, möchte ich die hello davon bekommen.

Ich weiß, dass es wahrscheinlich wie verschachtelte Tags aussehen wird, aber es ist nicht wirklich, denn alles, was ich hier tun möchte, ist etwas zwischen zwei <> zu entfernen.

Ich benutze Matlab dafür, aber das Regexp ist genau das selbe, also kannst du mir helfen. Vielen Dank.

    
shahar_m 03.05.2011, 08:43
quelle

4 Antworten

10

Meine Lösung ist:

%Vor%     
ilalex 03.05.2011, 09:16
quelle
5

Um ein solches Tag zu finden

%Vor%

Siehe online hier bei Rubular

    
stema 03.05.2011 08:52
quelle
3

Es ist allgemein anerkannt, dass die Verwendung von Regexes zum Analysieren von allgemeinem HTML eine schlechte Form ist. Wenn Ihr HTML-Code viel komplizierter ist als das angegebene Beispiel, sollten Sie stattdessen einen XML-Parser verwenden.

Weitere Diskussion in dieser berühmten SO-Frage. RegEx stimmt offene Tags ab, mit Ausnahme von XHTML-eigenen Tags .

Wenn Sie den Inhalt richtig analysieren möchten, laden Sie xml_io_tools herunter und verwenden Sie

%Vor%

Wenn Sie bei Regexen bleiben wollen, verwenden Sie die Antwort von ilya, aber mit einer der Regexes aus der verknüpften Antwort, z. B.

%Vor%     
Richie Cotton 03.05.2011 10:17
quelle
1

Da Sie erwähnt haben, dass Sie "Hallo" aus der obigen html-Datei (say filename.html) extrahieren möchten, können Sie Folgendes in MATLAB verwenden:

  
    

doc = xmlread ('Dateiname.html');     content = doc.item (0) .getTextContent

  

Hoffe, das hilft!

    
saras 30.10.2014 19:57
quelle

Tags und Links