Wie baue ich eine reguläre Expressionssyntax für HTML -Tags auf?
Regelmäßige Ausdrücke haben unersetzliche Positionen im Prozess der Verarbeitungszeichenfolgen. Es gibt heute entsprechende regelmäßige Ausdrucksunterstützungspakete in Computer-Sprachen auf Computer-Ebenen.
Wenn wir den HTML -Code in einer Webseite als strukturierte Zeichenfolge behandeln, wie können wir dann die gewünschten HTML -Tags (Tags) auf ähnliche Weise wie normale Ausdrücke extrahieren?
Überlegen wir nicht, wie es zuerst implementiert werden kann, sondern überlegen, wie das HTML-Tag auf regelmäßige, expressionsähnliche Weise beschreibt. Um ein HTML -Tag zu erhalten, müssen Sie die 2 Arten von Attributen des Tags kennen:
1. Die Position des Etiketts;
2. Die Attribute des Tags selbst;
Zum Beispiel auf der folgenden HTML -Seite:
<html>
<body>
<div id = "BodyWrapper">
<div id = "Leftwrapper">
</div>
<div id = "rightwrapper">
<div>
<div>
<div>
<div>
</div>
</div>
</body>
</html>
Wenn Sie das zweite DIV -Tag im obigen HTML -Code extrahieren möchten, muss ich die ID-, Klasse- und Standortinformationen des DIV angeben. Die Frage ist jetzt: Wie kann man eine Ausdrucksgrammatik entwerfen, die den oben genannten Anforderungen entspricht?
Zum Beispiel:
Gettag: Div {Tag-Name: Div; Tag-Position: 2; Tag-Klasse: Spalte; Tag-ID:; Tag-Inhalt:;}
Tag-Eltern-Parent {Tag-Name: Div; Tag-Position: 2; Tag-Klasse: Spalte; Tag-ID:; Tag-Inhalt:;}
Tag-Kind {......}
Darüber befindet sich eine leicht verständliche beschreibende Syntax.
Oder eine pythonähnliche Syntax:
Gettag: Div
Tagname:
Tag-ID:
Tag-Position: 2
Tag-Klasse: Spalte
Tag-Inhalt:
tag-elektrieren:
Tagname:
Tag-ID:
Tag-Position: 2
Tag-Klasse: Spalte
Tag-Inhalt:
Tag-Kind:
Tag-Typ: Tabelle
Ich weiß nicht, ob es eine geeignetere grammatikalische Ausdrucksform gibt. Solange diese Ausdrucksgrammatik vernünftig gestaltet werden kann, ist die nachfolgende Arbeit einfach zu erledigen. Das ultimative Ziel davon ist: Programmierer können HTML -Code mit diesem Ausdruck analysieren, genauso bequem wie die Umgang mit normalen Saiten.
Ich hoffe, dass alle teilnehmen und mehr Ideen geben werden. Ich werde diese Grammatik basierend auf dem Feedback aller verbessern und eine Implementierung auf der Grundlage dieser Grammatik vornehmen.
Siehe:
Eine grundlegende Einführung in reguläre Ausdrücke finden Sie hier:
http://www.vevb.com/htmldata/2006-03-16/1142469074.html
http://www.vevb.com/htmldata/2006-03-16/1142468929.html
Regelmäßige Ausdrücke wurden erstmals 1956 von Mathematiker Stephen Kleene auf der Grundlage der inkrementellen Forschungsergebnisse der natürlichen Sprache vorgeschlagen. Regelmäßige Ausdrücke mit vollem Syntax wurden in der Form von Zeichen der Zeichen verwendet und später auf den Bereich der geschmolzenen Informationstechnologie angewendet. Seitdem wurden nach mehreren Entwicklungszeiten die aktuellen Standards von ISO (International Standards Organization) genehmigt und von der Open Group anerkannt.
Regelmäßige Ausdrücke sind keine spezialisierte Sprache, aber sie können als Standard zum Auffinden und Ersetzen von Text in einer Datei oder einem Zeichen verwendet werden. Es hat zwei Standards: Grundlegende reguläre Ausdrücke (BRE), erweiterte reguläre Ausdrücke (ERE). ERE umfasst BRE -Funktionen und andere Konzepte.
Regelmäßige Ausdrücke werden in vielen Programmen verwendet, einschließlich XSH, EGREP, SED, VI und Programmen unter der UNIX -Plattform. Sie können von vielen Sprachen wie HTML und XML übernommen werden, die normalerweise nur eine Untergruppe des gesamten Standards sind.