Beate Mielke: Reguläre Ausdrücke und die Suche nach Bindestrichen

Beitrag lesen

Hallo Ferdinand,

ich habe neulich unter PHP3 mit der Funktion ereg() und einem regulären Audruck versucht festzustellen, ob in einem String ein Bindestrich vorkommt. Ein Bindestrich in einem regulären Ausdruck ist ein Sonderzeichen, und deshalb habe ich ihn mit einem \ escaped. Dies scheint aber nicht zu funktionieren. Daß es ohne ein \ auf keinen Fall funktionieren würde, ist mir klar. Die Funktion preg_match() möchte ich dafür aber nicht in Betracht ziehen.
Ich würde mich freuen, wenn mir jemand helfen könnte, denn ich weiß nicht, wie das Problem zu lösen ist.

es ist nicht richtig, dass der Bindestrich im regulaeren Ausdruck ein Sonderzeichen ist. Deshalb kannst Du den backslash bei der Untersuchung des Strings getrost weglassen und nach ihm suchen, wie nach jedem anderen eichen auch.
Hier eine Auflistung aller Sonderzeichen:

^ . [ ] $ ( ) * + ? { } \

Viele Gruesse

Beate Mielke