Thread RegEx-Frage2: Rekursion: Zeit zum Schlafengehen (2 answers)
Opened by pktm at 2007-03-28 02:41

pktm
 2007-03-28 14:14
#75470 #75470
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Ja super!

Und schon haben wir eine RegEx für unmittelbare Dominanz in einem Baum:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/perl

use strict;
use warnings;

my $string = qq~['X', ['S', ['Y', ['X0']], ['NP', ['YP', ['ZP']], 'VP'], 'DA']]~;

our $pat;
$pat = qr!
    \[
    (?>
        (?>[^\[\]]+)
        |
        (??{$pat})
    )*
    \](?:\,\s)*
!x;

if( $string =~ /\[\'S\'\,\s($pat)*\[\'NP\'/ ) {
    print "matcht $1!\n";
    print "alles: $&\n";
}else{
    print "nix gefunden  :-(\n";
}
http://www.intergastro-service.de (mein erstes CMS :) )

View full thread RegEx-Frage2: Rekursion: Zeit zum Schlafengehen