Thread RegEx: Wie sind die implementiert? (7 answers)
Opened by pktm at 2007-06-25 11:25

pktm
 2007-06-26 01:37
#77810 #77810
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Des ist aber nur eine einfache Verkettung. Was ist mit sowas wie einem kontextfreien Ausdruck und einer regulären Sprache im Schnittt?

Also z.B. mein Ausdruck für diverse Klammerstrukturen:
Code: (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
25
26
27
28
29
30
31
32
33
34
35
=head3 _regex_unmittelbareDominanz( $satz, $dominierendesSymbol, $dominiertesSymbol )

Diese Funktion  überprüft, ob im gegebenen Satz ($satz)
ein Symbol ($dominierendesSymbol) ein anderes Symbol ($dominiertesSymbol)
unmittelbar dominiert.

=cut

sub _regex_unmittelbareDominanz($$$) {
   my ($s, $x1, $x2) = @_;
   
   our $pat;
   $pat = qr!
       (?:
           \[
           (?>
               (?>[^\[\]]+)
               |
               (??{$pat})
           )*
           \](?:\,\s)*
       )
   !x;
   
   say "suche mit $x1, $x2 in $s";
   
   if( $s =~ /\[$x1\,\s?($pat)*\[\[?[\'\,\w\s]*$x2/ ) {
       say "gefunden";
       return 1;
   }else{
       say "nix da!";
       return 0;
   }
   
} # /_regex_unmittelbareDominanz


Und meinen Satz:
Code: (dl )
[['S',[['CNP',[['NP',['NN Leben']],['KON und'],['NP',['NN Tod']]]],['VAFIN waren'],['NP',[['CARD zwei'],['NN Seiten'],['NP',[['PDAT derselben'],['NN Sache']]]]]]]]
http://www.intergastro-service.de (mein erstes CMS :) )

View full thread RegEx: Wie sind die implementiert?