RegExp Gruppierung
Karle
- perl
1 Beat
Hallo,
ich hät da gern mal ein Problem:
if ($line =~ /^(f\d+\/\d+)|(b\d+)\s+([\w:]+)/)
{
my $tmp1=$1;
my $tmp2=$2;
}
Ich möchte nun das in
$1 entweder (f\d+/\d+) oder (b\d+)
$2 = ([\w:]+)
drin steht, und nicht
$1 = (f\d+/\d+)
$2 = (b\d+)
$3 = ([\w:]+)
Da bei meinem Pattern nicht beides vorkommen kann, möchte ich mir die Abfrage ersparen, ob $1 oder $2 nun gefüllt ist. Wie kann man das umsetzen?
Gruss
Karle
Capure statt dessen Alternativen
statt ()|() verwende (|)
und studiere bitte die Perldoc. Das sind Basics.
http://perldoc.perl.org/perlre.html
mfg Beat