seth_not@home: Ein kleines Regex-Rätsel

Beitrag lesen

gudn tach!

Hallo, ich hab ein Rätsel für gemacht: Was matcht dieses Regex-Pattern (Perl Syntax)?

eine anmerkung dazu:
(?P<name>pattern) ist _nicht_ perl-syntax!

perl meckert an so einer stelle
  Sequence (?P...) not recognized in regex [...]

perl meckert ausserdem bei solchen wie [^$]

$pattern = '/(?<=^).(?<![^r])(?=(?(?!.)d|(?P<a>e))).(g(?=(?(?=[a-zA-Z0-9])(?P=a)|f))|(?<![^g])(?(?=[a-zA-Z0-9])(?P=a)|c)){2}(?(?=[a-zA-Z0-9])x|y)(?![^$])/';

in php4 funzt der ausdruck nicht und php5 habe ich hier nicht griffbereit, aber wenn (?P=a) einfach auf die referenz, die unter dem namen "a" gespeichert ist, zugreift und wenn (?![^$]) in php tatsaechlich bloss $ ist, dann ist die loesung einfach; und uebrigens auch eindeutig, d.h. der regexp matcht genau einen string. ich verrat ihn nicht, aber es ist wirklich sehr einfach.

ich habe die meiste zeit damit verbracht, dieses verkackte (?P...) zu verstehen, bis ich spasseshalber mal ins php-manual reingeschaut habe. und selbst dort ist die erklaerung dazu unter aller sau.

naja, egal. nettes raetsel jedenfalls.

prost
seth