Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]5706[/thread]

regulären ausdruck in variable

Leser: 4


<< |< 1 2 >| >> 17 Einträge, 2 Seiten
stevg
 2003-09-10 10:25
#49784 #49784
User since
2003-09-02
11 Artikel
BenutzerIn
[Homepage] [default_avatar]
wie kann man reguläre ausdrücke in variablen speichern ?
format_c
 2003-09-10 10:37
#49785 #49785
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Einfach als du dir warscheinlich vorstellst.
Du darfst die Variable dann nur nicht mit \Q$variable\E in den Regex einbauen afaik.
Code (perl): (dl )
1
2
my $begriffe = "begriff1|begriff2|begriff 2";
print "OK" if $string =~ /\b$begriffe\b/ig;


Gruß alex
kabel
 2003-09-10 10:52
#49786 #49786
User since
2003-08-04
704 Artikel
BenutzerIn
[default_avatar]
dazu gibts einen operator qr. siehe perlop
-- stefan
havi
 2003-09-10 10:54
#49787 #49787
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
[quote=format_c,10.09.2003, 08:37]Einfach als du dir warscheinlich vorstellst.
Du darfst die Variable dann nur nicht mit \Q$variable\E in den Regex einbauen afaik.
Code (perl): (dl )
1
2
my $begriffe = "begriff1|begriff2|begriff 2";
print "OK" if $string =~ /\b$begriffe\b/ig;


Gruß alex[/quote]
Für was machst du da \b \b ?

Gruss
format_c
 2003-09-10 10:55
#49788 #49788
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Stimmt. Den vergisst man gerne.

Gruß ALex
format_c
 2003-09-10 10:57
#49789 #49789
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
@havi:Wortgrenzen. Ist nur ein Beispiel.
Der Regex sucht in einer Zeichenkette entweder begriff1 oder begriff2 oder begriff 2.
aber einbegriff1 würde er nicht matchen. Ohne die \b's jedoch schon.

Das Beispiel ist nur aus der Luft gegriffen. Wollte ihm halt noch einen Hauch von Sinn verpassen.

Gruß Alex\n\n

<!--EDIT|format_c|1063177044-->
havi
 2003-09-10 11:02
#49790 #49790
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Achso! Alles klar!

Danke für die Erklärung!

Gruss
stevg
 2003-09-10 11:16
#49791 #49791
User since
2003-09-02
11 Artikel
BenutzerIn
[Homepage] [default_avatar]
so?
$x = qr{/blabla/};
format_c
 2003-09-10 11:33
#49792 #49792
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Genau
Code (perl): (dl )
1
2
3
4
5
6
use strict;
use warnings;
my $string1 = "test1";
my $string = "test1";
my $re = qr/$string/;
print "OK" if $string1 =~ $re;


Gruß Alex
Dubu
 2003-09-10 11:35
#49793 #49793
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
[quote=format_c,10.09.2003, 08:57]Der Regex sucht in einer Zeichenkette entweder begriff1 oder begriff2 oder begriff 2.
aber einbegriff1 würde er nicht matchen. Ohne die \b's jedoch schon.[/quote]
Dann sollte man es aber auch richtig anwenden.
Deine Regex passt auf "\bbegriff1" oder "begriff2" oder "begriff3\b". Wenn du die Wortgrenzen komplett um $begriffe haben moechtest, musst du Klammern setzen.
<< |< 1 2 >| >> 17 Einträge, 2 Seiten



View all threads created 2003-09-10 10:25.