Thread Regex match per Variablen zusammen setzten (6 answers)
Opened by Fragensteller at 2012-08-13 10:04

Fragensteller
 2012-08-13 10:52
#160844 #160844
User since
2012-08-01
37 Artikel
BenutzerIn
[default_avatar]
es gibt halt eine globale Datei die alle definierten Regeln enthält.
Diese wird in zig Dateien verwendet. ändert sich nun eine Regel oder kommt eine hinzu soll nur diese eine angepasst werden.

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
my %HoH = (
domain => {
before => "s",
regex => " \| .*\.\w*",
after => "g",
replace => "",
},
amazonde => {
before => "s",
regex => " - Amazon.de",
after => "g",
replace => "",
},
linetrenner => {
before => "s",
regex => "<br \/>",
after => "g",
replace => "{@}",
},
clearhtml => {
before => "s",
regex => "<.+?>",
after => "g",
replace => "",
},
clearlastwhite => {
before => "s",
regex => "\s+\$",
after => "",
replace => "",
},
checkpos => {
before => "",
regex => "^(\d+\.?\d*|\.\d+)\$",
after => "",
replace => "",
},
clearebay => {
before => "s",
regex => " bei ebay\$",
after => "i",
replace => "",
},
getkurl => {
before => "",
regex => "((https?:\/\/)?([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;:~=%!]*)(\.\w{2,})?)*\/?)",
after => "g",
replace => "",
},
);
return %HoH;



Bisher sah meine Sub eben so aus...

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
sub subst {
#paramater holen
my ($search, $replace, $mod) = @_;

if (my $eval = $mod =~ s/e//g) {
$replace = qq{'$replace'};
$replace = "eval($replace)" for 1 .. $eval;
} else {
$replace = qq{"$replace"};
}

if($mod eq "g"){
sub {s/$search/$replace/gee};
}else{
sub {s/(?$mod)$search/$replace/ee};
}
}


Code: (dl )
1
2
3
4
5
6
%hRegex = %{$hRegexAll{domain}};
$sub = subst($hRegex{regex}, $hRegex{replace}, $hRegex{after});
$_ = $sHeader;

$sub->();
$sHeader = $_;

Last edited: 2012-08-13 10:57:54 +0200 (CEST)

View full thread Regex match per Variablen zusammen setzten