ManfredKuhn: Regex problem

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?

  1. 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

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
  2. 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

    --
    _ - jenseits vom delirium - _

       Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
    J'ai 10 ans! | Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?
  3. 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

    --
    Woran ich arbeite:
    X-Torah
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische