Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: alesssandro am 20.04.05 - 12:08:01

Titel: regular expressions
Beitrag von: alesssandro am 20.04.05 - 12:08:01
Hallo Leute.

Wenn ich richtig informiert bin, gibt es in Lotus Script keine Funktionen für Regular Expressions?!! Das ist aber sehr schade. Es wundert mich sehr, da sogar die "recht einfache" Scriptsprache PHP RegExp beherrscht.

Ich bräuchte RegExp, um das Subject eingehender emails nach einer Ticketnummer zu durchsuchen. Dazu müsste ich dann einen Java-Agenten schreiben... kann aber leider kein Java.

alex
Titel: Re: regular expressions
Beitrag von: Marinero Atlántico am 20.04.05 - 12:25:08
Mit 6.5 läuft so weit ich weiss, Java1.4. Da sind RegularExpressions dabei.
Mehran Habibi hat dazu ein gutes Buch geschrieben. Versuch mal über Amazon und dann irgendwie auf den Beispielcode (Apress).
Mit Notes6 (Java 1.3) jakarta oro: http://jakarta.apache.org/oro/index.html. Sollte auch Beispielcode da sein.
Versuch das einfach mal in einem Java-Agenten. So schwierig kann das nicht sein. V.a. da die notes-api wie die von Skript ist.
Ich rate dringend davon ab mit der LS2J Bridge rumzubasteln, da die offenbar memory leaks hat.
Titel: Re: regular expressions
Beitrag von: ..Andreas.. am 20.04.05 - 12:38:09
In der Sandbox (http://www-10.lotus.com/ldd/sandbox.nsf/ByDateNJ/bdf223107911ed9d85256f8100549f97?OpenDocument) gibt es ein kleines Tool zu diesem Thema. Habs allerdings noch nicht ausprobiert.

Andreas
Titel: Re: regular expressions
Beitrag von: Marinero Atlántico am 20.04.05 - 14:00:15
Thx. ..Andreas..
Und ausserdem: Brauchst du überhaupt regex? Reichen nicht vielleicht die LS Möglichkeiten der Skriptverarbeitung aus. Wie sehen die Subjects aus?
Titel: Re: regular expressions
Beitrag von: alesssandro am 20.04.05 - 16:30:03
Danke für eure Antworten. Hab leider noch keine Zeit gehabt, die Infos im Detail anzusehen.

Und ausserdem: Brauchst du überhaupt regex? Reichen nicht vielleicht die LS Möglichkeiten der Skriptverarbeitung aus. Wie sehen die Subjects aus?

Naja, ein Subject mit einer Ticketnummer sollte im Idealfall so aussehen:
"RE: Product offer - ANG#D12E44A5"
Die Ticketnr ist dabei nur der letzte Teil: ANG#D12E44A5. Hier könnte ich einfach die letzten 12 Stellen extrahieren.

Aber manche email-Clients machen dann noch Klammern herum. Dann sieht es so aus.
"[ RE: Product offer - ANG#D12E44A5 ]"
In solche Fällen bekomme ich dann klarerweise falsche Ergebnisse wenn ich nur die letzten 12 Stellen rausschneide.

Und da wären RegExp genau das richtige Mittel.

alex
Titel: Re: regular expressions
Beitrag von: Marinero Atlántico am 20.04.05 - 16:45:50
Geht aber vermutlich auch mit String Behandlung "klassisch".
Du suchst einfach
1. enhält der String ANG#
2. wenn ja, extrahiere die 8 Ziffern rechts von dem #.
Titel: Re: regular expressions
Beitrag von: alesssandro am 20.04.05 - 16:49:32
Daran hab ich nicht gedacht ;)
Titel: Re: regular expressions
Beitrag von: koehlerbv am 20.04.05 - 17:11:14
Ich würde da noch nicht mal auf 8 Zeichen gehen: Ab dem eindeutigen Kenner (den ja auch RegExs brauchen) solange lesen, bis Ende Gelände oder ein nicht zulässiges Zeichen (Leerzeichen, Sonderzeichen - irgendwas ausserhalb 0..9, A..Z, a..z) auftaucht.

Regular expressions lassen sich mit einmaligem Aufwand ja einfach auch mit LS nachbauen. Inclusive aller eigener Freiheiten  ;D

Bernhard
Titel: Re: regular expressions
Beitrag von: Marinero Atlántico am 20.04.05 - 17:13:12
Regular expressions lassen sich mit einmaligem Aufwand ja einfach auch mit LS nachbauen. Inclusive aller eigener Freiheiten  ;D
Ich poste demnächst mal ein paar Aufgaben  ;D