Hallo!
Eine habe ich noch:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
my $s = qq~['S', ['NP', ['XP', ['YP', ['ZP'], ['ZP']]] 'VP']]~;
my $wort = qr/\[\'\w+\'\](?:\,\s)*/;
my $struktur;
$struktur = qr/
(?:
\[\'\w+\'\,\s
($wort|$struktur)+
\]
(?:\,\s)*
)+
/x;
if( $s =~ $struktur ) {
print "gefunden!\n";
print $&;
}else{
print "nicht gefunden :-(\n";
}
Da erhalte ich als Ergebnis
['YP', ['ZP'], ['ZP']].
Ich hätte aber auch gerne die Strukturen drumherum, also auch die anderen ['\w+', ...nochmalsowasOderEinWortHier...] - Strukturen. Nicht nur das notwendigste um die Bedingung zu erfüllen sondern alles (gab es da nicht einen Schalter für?).
Wie geht das?
Grüße, pktm