Package regexpr

Rund um die LCL und andere Komponenten
Antworten
Scotty
Beiträge: 768
Registriert: Mo 4. Mai 2009, 13:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
CPU-Target: x86_64-linux-qt/gtk2
Kontaktdaten:

Package regexpr

Beitrag von Scotty »

Hallo,
ich möchte eine Suche in einem Wörterbuch machen, bei der angegeben werden kann, ob ein bestimmter Teil im Ergebnis enthalten ist und ob ein Teil nicht enthalten ist. Die Suche soll Wildcards und Joker enthalten können. Zum Beispiel
ABC -> ABC
AB? -> ABC, ABD, ABX, ABZ
AB* -> ABC, ABCA, ABCAA
?AB -> AAB, BAB, ZAB
*AB -> AAB, XYZAB
*AB* -> AAB, XYZAB, CDEABXYZ
AB*-Z -> ABC, ABD, ABX
Wildcards und Joker bekomme ich hin, aber ich weiß schon nicht, wie man den Ausschluss üblicherweise angibt (das Minus). An dieser Stelle kommen wohl Regular Expression infrage. Die Unit und das Beispiel habe ich mir angesehen, finde die Sachen aber nicht gerade auf Anhieb verständlich. Vielleicht kann mir ja jemand das Leben vereinfachen :mrgreen:
TIA, Scotty.

DiBo33
Beiträge: 334
Registriert: Do 11. Okt 2007, 18:01

Re: Package regexpr

Beitrag von DiBo33 »

ABC -> ABC ==> '^ABC$'
AB? -> ABC, ABD, ABX, ABZ ==> '^AB.$'
AB* -> ABC, ABCA, ABCAA ==> '^AB.*'
?AB -> AAB, BAB, ZAB ==> '^.AB$'
*AB -> AAB, XYZAB ==> 'AB$'
*AB* -> AAB, XYZAB, CDEABXYZ ==> 'AB'
AB*-Z -> ABC, ABD, ABX ==> '^AB[^Z]$'

creed steiger
Beiträge: 958
Registriert: Mo 11. Sep 2006, 22:56

Re: Package regexpr

Beitrag von creed steiger »

Hier ist es ganz gut erklärt:
http://regexpstudio.com/DE/TRegExpr/Hel ... yntax.html" onclick="window.open(this.href);return false;

Scotty
Beiträge: 768
Registriert: Mo 4. Mai 2009, 13:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
CPU-Target: x86_64-linux-qt/gtk2
Kontaktdaten:

Re: Package regexpr

Beitrag von Scotty »

Danke für die Hinweise. Ich frage mich nur, ob man dem Benutzer das zumuten kann oder auch soll. "Kann", weil die Eingabe doch recht ungewöhnlich ist und "soll", weil es ein Standard ist - allerdings für Spezialisten. Gibt es einfachere Verfahren für mein Problem außer selbst gestrickten?

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: Package regexpr

Beitrag von Euklid »

Scotty hat geschrieben:Danke für die Hinweise. Ich frage mich nur, ob man dem Benutzer das zumuten kann oder auch soll.
Pascal beherrscht sehr viele Methoden, um Strings zu bearbeiten. Daher dürfte es in meinen Augen kein Problem sein, die vom Benutzer eingegebenen Zeichen in jene Zeichen umzuwandeln, die regexpr versteht(?).

Scotty
Beiträge: 768
Registriert: Mo 4. Mai 2009, 13:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
CPU-Target: x86_64-linux-qt/gtk2
Kontaktdaten:

Re: Package regexpr

Beitrag von Scotty »

Funktioniert einwandfrei. Wie gibt man aber an, dass alle Worte ausgegeben werden, die genau 8 Zeichen lang sind und kein E enthalten?

Antworten