seth: ereg()

Beitrag lesen

gudn tach!

warum geht das dann nicht? ;-(

ereg("^([ein' '][Test])|([ein][' 'Test])$",$Test)

[] bezeichnet eine zeichenklasse.
[ein' '] ist also ein zeichen aus der klasse der zeichen [ein '], also ein 'e', ein 'i', ein 'n', ein leerzeichen oder ein apostroph. genaueres siehe dort.

"^([ein' '][Test])|([ein][' 'Test])$" ist also wie
"^([ein '][estT])|([ein][estT '])$"
strings die von "^([ein '][estT])|([ein][estT '])$" gematcht wuerden, waeren also z.b.
"et"
" T"
"e'"
"is"

in perl-syntax oder pseudo-perl-compatible-regexp-syntax (pcre) koennte man das uebrigens imho huebscher schreiben:
/^(?![' ]{2})([ein '][estT '])$/

prost
seth