[Allegro] String-Recherche

Thomas Berger ThB at Gymel.com
Do Sep 6 15:37:42 CEST 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Lieber Herr Becker,

>>> gibt es eine Möglichkeit, nach strings wie z.B. "interkulturelle
>>> Kommunikation" zu suchen? Noch interessanter wären stings wie
>>> "muendliche.? interaktion.*", also mit den Möglichkeiten der
>>> regulären Ausdrücke. Ich weiß, wie ich nach Beiträgen suchen kann,
>>> die beide Wörter enthalten, aber nicht, wie ich Beiträge finde, die
>>> beide Wörter /hintereinander /beinhalten.
>>
>> Das geht normalerweise nur mit der Volltextsuche und regulären
>> Ausdrücken. 
> 
> Aber das Problem ist dann, dass .* doch bedeutet, dass beliebig viele
> Zeichen dazwischen stehen dürfen. So bekomme ich also nur Datensätze, wo
> muendliche vor interaktion steht, dazwischen können theoretisch 200
> Wörter stehen (in einem Abstract) -- das ist ja genau nicht dass, was
> ich will, ich brauche nach einem Leerzeichen genau das zweite Wort.

Naja, ich habe noch keine Erfahrungen mit der Regexp-Implementation in
a99 gemacht, aber es gibt beschraenkte Moeglichkeiten, Wortklassen
anzugeben:

\<muendlich[^ ]* interakt

["\<" steht da, um "fernmuedliche Interaktion" zu verbieten, ".*" am
Schluss ist pleonastisch]

[unklar ist mir folgendes: "." ist der Joker fuer jedes Zeichen *ausser*
Kategorieende (Die Beschreibung in ftr.rtf bezieht sich wohl implizit
auf Datensaetze, die mit "fetch" komplett in die iv gelesen wurden,
wobei das Kategorieende zu 10 (LF) + "#" gewandelt wird, "." stoppt also
wie anderswo auch ueblich implizit am Zeilenende). Die Zeichenklasse
[^ ] ist alles ausser Spatium, damit ist theoretisch auch
kategorieuebergreifend

#20 ... muendliche
#31 Interaktion

ein Treffer ("e" + Kategorieende + "#31") steht ohne Spatium als Trenner
hinter "muendlich".


Auch noch unklar:
- - Koennen \s und \w in [...] benutzt werden (v.a. interessant als [^\w]
  oder so)
- - Trifft \s erwartungsgemaess ausser Spatium auch das Zeilenende,
  Zeichen 10?
- - Benoetigt man nicht auch "\n" um das Kategorieende einzufangen
  (ich gehe davno aus, dass "$" in Zeichenklasen [...] keine
   Sonderbedeutung hat)
- - Wie kann ich bei "fetch" oder "var k" die Aufloesung von
  v14-Ersetzungen erzwingen / abschalten / beeinflussen?

viele Gruesse
Thomas Berger

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3-nr1 (Windows XP)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG4AKmhKFJT0F1FsoRAguCAKCBEf9vAE4s64+bIRLFldQatp6B+QCfdFAZ
YiWY6MbEWHofVEa5ow3kBFc=
=JLm0
-----END PGP SIGNATURE-----



Mehr Informationen über die Mailingliste Allegro