Unterschied `query` vs. `match` vs. `search`...

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Hallo,

wenn das wieder eine meiner typischen Popelfragen ist, dann dürft ihr mich Korinthenkacker nennen...

Andernfalls: Meine `Appointment` Klasse besitzt zur Abfrage (Datum, Titel, etc.) eine `query` Methode. Im Netz stoße ich immer wieder auf ähnliche Methoden/Funktionen, die `match` oder `search` heißen. Gibt es da irgendeine Norm? Im Sinne von "`query` macht eigentlich dies, ansonsten nennt man es eher `match`, außer im Falle von jenem, dann würde man es `search` nennen"? Oder sind die Begriffe austauschbar? Hätte man `re.match` auch ohne weiteres `re.search` nennen können?

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
BlackJack

@mutetella: Es gibt sowohl `re.match` als auch `re.search` und die machen etwas unterschiedliches, also hätte man `re.match` wohl kaum `re.search` nennen können. ;-) Insbesondere sucht `match()` nicht sondern prüft ob das Muster auf die Zeichenkette passt und nicht ob es irgendwo in der Zeichenkette passt. `search()` und `query()` sind da schon eher synonym, wobei ich persönlich bei `query()` etwas mehr Komplexität erwarte. Wahrscheinlich weil man diesen Begriff von Datenbanken gewohnt ist, wo es eine umfangreiche Abfragesprache gibt, zum Beispiel SQL.
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

@mutella: Wenn man Eingaben auf eine bestimmte Form überprüfen möchte, ist meistens `re.match()` das, was man will. Mit `re.search()` kann man so hässliche Dinge machen, wie bestimmte Teile aus HTML oder XML herauszufischen. Aber der versierte Anwender nutzt dafür sowieso lieber einen ordentlicher Parser. ;)
Antworten