Regex problem
ManfredKuhn
- perl
0 ChrisB0 Patrick Andrieu0 Beat
Hallo zusammen!
Ich muss euch mal wieder was fragen ;-)
Ich brauche eine Regex die wie index() nur mit groß und kleinschreibung funktioniert. Wie sieht die aus? Ich bekomme es einfach nicht hin.
Angenommen mein Suchstring sieht so aus:
$str = "forum";
und meine Regex so:
if($str =~ /Forum/i){}
funktioniert es, wenn aber meine Regex so aussieht:
if($str =~ /Das Forum ist gut/i){}
nicht mehr.
Wie bekomme ich das hin, das Forum in der unteren Regex gefunden wird?
Hi,
Angenommen mein Suchstring sieht so aus:
$str = "forum";
und meine Regex so:
if($str =~ /Forum/i){}
funktioniert es, wenn aber meine Regex so aussieht:
if($str =~ /Das Forum ist gut/i){}
nicht mehr.Wie bekomme ich das hin, das Forum in der unteren Regex gefunden wird?
Hä? Du willst wissen, ob im zu durchsuchenden Text "Forum" die Zeichenkette "Das Forum ist gut" enthalten ist ...?
Nein, das ist sie nicht.
MfG ChrisB
Hallo ManfredKuhn!
$str = "forum";
und meine Regex so:
if($str =~ /Forum/i){}
funktioniert es, wenn aber meine Regex so aussieht:
if($str =~ /Das Forum ist gut/i){}
Geht das etwas konkreter?
Wenn Dein String nur aus dem Wort »forum« beseht, kann die Zeichenkette »Das Forum ist gut« darin nicht gefunden werden!
Beschreibe Dein Problem bitte genauer!
Viele Grüße aus Frankfurt/Main,
Patrick
Wie bekomme ich das hin, das Forum in der unteren Regex gefunden wird?
Das Equivalent zu index( $content, $search )
ist
$content =~ /$search/
Weil $search aber Userinput ist, musst du ein paar
Sicherheitsmassnahmen einbauen
$content =~ /\Q$search/
Der Modifier \Q quotet spezielle Zeichen.
$content =~ /\Q$search/i and do_something();
dürfte sein, was du suchst.
mfg Beat