![](https://seccdn.libravatar.org/avatar/3315311bb8e9e2e94780da1ac1b7f51d.jpg?s=120&d=mm&r=g)
Hallo Martin, * Martin schrieb am 04.09.2003:
Am Thursday 04 September 2003 13:54 schrieb Thomas Preissler:
* Martin schrieb am 04.09.2003:
Mal etwas spezifischer: Ich suchte nach etwas in der Richtung /^([^foobar]) .*$/blabla/ Wobei aber foobar als eine Zeichen_kette_ und nicht als Zeichen_klasse_ interpretiert werden soll. Also wenn das erste Wort ein anderes ist als 'foobar' soll es durch 'blabla' ersetzt werden. Ein solchen RegEx wirst Du nicht finden, bzw. den gibt es nicht. Wie Bernd schon geschrieben hat, die Möglichkeiten wären unendlich, und da gibt's keinen RegEx dafür. Ein RegEx ist nur ein endlicher Automat, da das Alphabet auch endlich ist.
Ähm... Sorry, das verstehe ich nicht. Vielleicht habe ich da gerade ein ziemlich dickes Brett vor dem Kopf. Wieso sind die Möglichkeiten unendlich? Worin würde der wesentliche Unterschied zwischen /[^abc]/ als Charakterklasse oder /[^(abc)]/ als Zeichenkette in Bezug auf (Un-)Endlichkeit bestehen?
[...] ist immer eine Zeichenklasse, es kann nicht als Zeichenkette interpretiert werden. Da das nicht geht, musst Du alle anderen, erlaubten, Zeichenketten angeben und deren Anzahl ist in Prinzip unendlich.
Du kannst Dir nur behelfen, indem Du überprüfst ob "foobar" am Anfang steht, und wenn nicht, dass dann weitergehende Aktionen geschehen.
Aha, da kommen wir dem doch näher. 'foobar' am Anfang ist einfach: /^(foobar).*$/ Wenn $1 leer ist, steht offenbar kein 'foobar' am Anfang. Und nun?
Ich soll Dir sagen, was Du damit machen musst? Ich zitiere:
Also wenn das erste Wort ein anderes ist als 'foobar' soll es durch 'blabla' ersetzt werden. Wer hat das wohl geschrieben?
Nein, ich schreibe nicht, dass das eine dumme Frage ist. Grüße, Tom