Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
pyparsing [2015/04/15 06:55] root angelegt |
pyparsing [2016/05/15 11:10] (aktuell) root [Dokuwiki-Tabelle parsen] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Parser ====== | ||
+ | |||
+ | * Die Parser sind Methoden die nahezu alle Klassen in PyParser implementiert haben | ||
+ | * man kann mehrere Zeichenketten und PyParser-Obejkte hintereinander schreiben -> zusammen sind sie dann ein Objekt einer PyParsing-Klasse | ||
+ | * dieses Zeichenkette-Pyparsing-Objekt Mischmasch wird dann als Muster auf den zu parsenden String gelegt | ||
+ | * Verkettung kann u.a. per " | ||
+ | |||
+ | ===== parseString ===== | ||
+ | |||
+ | * Parst eine übergebene Zeichenkette anhand des vorher definierten Musters/ | ||
+ | * gibt ein Objekt vom Typ ParseResults zurück welches die einzelnen Elemente/ | ||
+ | |||
+ | |||
+ | Syntax: Objekt.parseString(// | ||
+ | |||
+ | Beispiel: | ||
+ | < | ||
+ | import pyparsing as pp | ||
+ | a=pp.OneOrMore(pp.Word(pp.alphanums + " " | ||
+ | result=a.parseString(" | ||
+ | print result | ||
+ | </ | ||
+ | Ergebnis: ParseResult-Objekt (verhält sich wie eine Liste) -> [" | ||
+ | |||
+ | ====== Klassen/ | ||
+ | |||
+ | ===== Parser ===== | ||
+ | |||
+ | Pyparser kennt verschiedene Parser. | ||
+ | |||
+ | ==== parseString ==== | ||
+ | |||
+ | **Definition: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Hilfsklassen ===== | ||
+ | |||
+ | |||
+ | |||
+ | |||
====== Infos ====== | ====== Infos ====== | ||
* http:// | * http:// | ||
+ | |||
+ | |||
+ | |||
+ | ====== Umsetzungen ====== | ||
+ | |||
+ | ===== Dokuwiki-Tabelle parsen ===== | ||
+ | |||
+ | |||
+ | **Überschrift**: | ||
+ | |||
+ | < | ||
+ | a=" | ||
+ | parser=pp.Word(pp.alphanums+" | ||
+ | list=pp.Suppress(' | ||
+ | list.parseString(a) | ||
+ | </ | ||
+ | |||
+ | |||
+ | **Inhalt**: | ||
+ | |||
+ | < | ||
+ | a=" | ||
+ | parser=pp.Word(pp.alphanums+" | ||
+ | list=pp.Suppress(' | ||
+ | list.parseString(a) | ||
+ | </ | ||
+ | |||
+ | * Variable a enthält die zu parsende Zeile | ||
+ | * parser definiert welche Zeichen als ein Wort betrachtet werden - das müsste eventuell erweitert werden, da nicht alle Sonderzeichen und ggf. Unicode-Zeichen abgedeckt sind | ||
+ | * list enthält den eigentlichen Parser - bestehend aus Supress welches den führenden " |