Hallo Bernd! Danke fuer Deine Hilfe. Am Mittwoch, 27. August 2003 12:00 schrieb Bernd Brodesser:
* Lutz Gehlen schrieb am 27.Aug.2003:
Ich suche einen regulaeren Ausdruck in Perl, der anspricht, wenn in dem untersuchten String ein doppeltes Zeichen auftritt, wie in
[...]
Es handelt sich um eine Uebungsaufgabe, es geht mir also nicht darum, irgendwie dieses Problem zu loesen, mich wuerde nur interessieren, ob es einen regulaeren Ausdruck gibt, der diese Aufgabe auf elegante Weise loest.
Ist das eine perl-Übungsaufgabe oder eine Informatik-Übungsaufgabe?
grep findet sowas mit \(.\)\1 egrp findet es mit (.)\1 Aber gerade das \1 macht den sogenannten regulären Ausdruck von grep, bzw. perl, daß es keinen regulären Ausdruck im Sinne der Informatik ist.
Es handelt sich um eine Perl-Uebungsaufgabe.
Allerdings wenn das Alphabet endlich ist, (Wenn ich es richtig in Erinnerung habe, sind sie bei regulären Ausdrücken immer endlich) so geht es auch, indem man es wie folgt macht:
aa|bb|cc|dd| usw.
Daran hatte ich auch schon gedacht, aber ich hatte gehofft, dass es eine elegantere Moeglichkeit geben wuerde. Die Konstruktion mit "\1" ist die, die ich gesucht habe. Bisher kannte ich nur $1 usw., aber die kann man in dem Ausdruck selbst ja noch nicht benutzen. Gruss Lutz