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

Linuxer
 2012-08-13 10:22
#160842 #160842
User since
2006-01-27
3890 articles
HausmeisterIn

user image
Quote
Bei substitutionen habe iche s nun über eval erledigt da soweit ich es mitbekommen habe die Regex nicht interpretiert werden wenn diese aus den Variablen kommen.


Dann hast Du da irgendwas seltsames probiert. Normalerweise funktioniert s/// auch mit Variablen:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
perl -wl

my $search = 'aaa';
my $replace = '111';

my $text = 'aaabbbccc';

$text =~ s/$search/$replace/;

print ">$text<\n";

^D
>111bbbccc<


Nachdem ich den weiteren Text gelesen habe, erahne ich etwas...
Du willst den Regex-Modifier, wie z.B. das /g, als Variable haben und anhängen...
Das wäre mir neu, dass das so funktionieren würde. Das könnte man sehr wohl mit eval machen...
Wobei mir da nur der String-eval gerade einfällt, und den würde ich nur ungern verwenden.
Wie werden denn die Variablen für den Regex gefüllt? Gibt die der Benutzer ein? Werden die aus Dateien gelesen?

PS: Warum müssen denn die Modifier als Variable eingesetzt werden?
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Regex match per Variablen zusammen setzten