[Allegro] Kategoriensuche

Thomas Berger ThB at Gymel.com
Do Jul 12 09:13:27 CEST 2012


Lieber Herr Eversberg,

>> Nummer zwei waere dann, mit einer harmlosen Klammersyntax auch
>> mehrere Regexp-Suchen (die dann gewohnt mit und/oder/nicht
>> verknuepfbar sind) notieren zu koennen,
> Das ist, fürchte ich, eine ganz andere und viel größere
> Nuß. Nolens volens muß sie auf die etwas längere Bank.

Mit "+", "&", "-" und sogar "%" haben Sie ja bereits die
zugehoerigen Operatoren, aber da es keine Quotierung fuer
die Regulaeren Ausdruecke gibt (die Wahrheitswerte deren
Auswertung bilden ja die Operanden der logischen Operation)
gibt es Grenzen, denn etwa "+" ist ja auch Bestandteil
der Steuersyntax fuer die regulaeren Ausdruecke.
[Nicht ganz so primitive Regex-Engines kennen auch Klammern
in den regulaeren Ausdruecken, nicht jede Alternative
laesst sich auf Einzelzeichenbasis mit [...] ausdruecken
und es gibt dann auch Konstrukte wie \1, mit denen der
hintere Teil des Suchbegriffs beim Testen den aktuellen
Teilstring aus einer Klammer nutzen kann]


>> Drittens kann das Programm nicht vorschreiben, ob ich mit
>> Regulaeren Ausdruecken im Datensatz oder im Feld suche, d.h.
>> ob ".*" am Feldende oder am Datensatzende abbricht, kann
>> richtig oder falsch sein, der Benutzer muss das steuern
>> koennen.
>>
> Versteh ich nicht ganz. Reden Sie nicht so unkonkret. Was genau wollen
> Sie machen können, was jetzt nicht geht?

Z.B. Datensaetz mit zwei Fussnotenfeldern #81-irgendwas ermitteln:

#81. + #81. geht nicht, beide Male wird die erste #81 zum
Treffer.


#81.*#81.

funktioniert nicht, weil ".*" automatisch durch Feldenden
begrenzt ist. (Und obwohl die zweite #81 ja meist unmittelbar
hinter der ersten steht, gibt es keinen Treffer: Alle Vergleiche
finden anscheinend rein innerhalb von Datenfeldern statt)


viele Gruesse
Thomas Berger


P.S.: Das gestern von Herrn Fischer monierte Verhalten halte ich
inzwischen fuer einen Bug: "#" *ist* ein Steuerzeichen, insofern
sollte "#40" nur Kategorie #40 treffen, keinen Inhalt
"#20 Test #40 abgeschlossen": Letzterer sollte nur durch "\#40"
getroffen werden koennen.



Mehr Informationen über die Mailingliste Allegro