Thread Reguläre Ausdrücke suchen (34 answers)
Opened by Bionerd at 2012-04-18 12:19

GwenDragon
 2012-04-18 12:31
#157582 #157582
User since
2005-01-17
14554 Artikel
Admin1
[Homepage]
user image
qr ist dein Werkzeug. Es erzeugt reguläre Ausdrücke.

Und mit einem Hash kannst du euch in einem Array die Zeilennummern speichern.

Code zum nachvollziehen:
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
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/perl

use strict;
use warnings;

my @motives = (
  qr(GACG),
  qr(G[A-Z]{2}G),
  qr(GAGG?A),
  qr(Kikeriki)i
);

my %gefunden;
my $zeilennr;
while (my $line = <DATA>) {
  $zeilennr++;
  for my $re (@motives) {
        push @{$gefunden{$re}},$zeilennr if $line =~ $re;
  } 
}

while (my ($k,$v) = each %gefunden) {
  print "$k: ", join(",",@$v),"\n";
}

#ergibt:
#(?-xism:GAGG?A): 1
#(?-xism:GACG): 2
#(?-xism:G[A-Z]{2}G): 1,2
#(?i-xsm:Kikeriki): 4

__DATA__
GAGGA
GACG
Kuh
KikEriKi

Last edited: 2012-04-18 12:45:19 +0200 (CEST)
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

View full thread Reguläre Ausdrücke suchen