Ich kämpfe schon seit einiger Zeit damit, den richtigen regulären Ausdruck für die folgende Aufgabe zu finden:
Ich möchte mit Python Daten aus Tabellen-Tags in einer HTML-Datei entfernen. Mein Ansatz hierfür besteht darin, Folgendes rekursiv auszuführen (die HTML-Zeilen zwischen Tags als Zeichenfolgen zu speichern):
s = "
s = re.sub('<{1}( ist nicht '<' 也不是 '>').*>{1}', '', s)
Meine Frage ist, wie man den fett gedruckten Teil in Klammern umsetzt. Danke. Dein Text
Ich habe es versucht
import re test_str = '<td style="color:blue">Hello</td>' test_str = re.sub('<{1}^[<>].*>{1}','',test_str) print(test_str)
Sie können sehen, dass meine Testsaite gleich bleibt. Was habe ich falsch gemacht?
Der obige Code, den ich erwarte, gibt mir test_str = „Hallo“, ich füge das wieder in diese Methode ein, die dann das „“ extrahiert und mir „Hallo“ gibt.
要否定字符类,应将
^
放在[
之后。此外,您不需要为出现一次的字符指定{1}
。但是,请注意,使用像 BeautifulSoup 这样的专用 HTML 解析器而不是正则表达式来从 HTML 获取数据更为合适。