Thread Conditional RegExp (8 answers)
Opened by PHilbs at 2010-02-20 20:44

betterworld
 2010-02-21 11:57
#133401 #133401
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Ich haette es jetzt auch so gemacht, dass ich einfach zwei regulaere Ausdruecke hinschreibe: Einen fuer hund und einen fuer katze. Man kann sie dann auch mit "|" einfach verbinden:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use strict;
use warnings;
use Data::Dumper;


my $blub = "hund:bello,12,w";
my $blab = "katze:mini,m";

for ($blub, $blab) {
    if (/^ (?<t>hund)  : (?<n>[^,]*) , (?<g>\d+) , (?<s>m|w)  $ |
         ^ (?<t>katze) : (?<n>[^,]*) ,             (?<s>m|w)  $  /x) {

         print Dumper \%+;
    }
}


Ausgabe:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
$VAR1 = {
'n' => 'bello',
'g' => '12',
's' => 'w',
't' => 'hund'
};
$VAR1 = {
'n' => 'mini',
's' => 'm',
't' => 'katze'
};

View full thread Conditional RegExp