Wieder etwas für die RegEx Profis!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Wieder etwas für die RegEx Profis!

    Servus,

    ich habe hier etwas für die RegEx Profis:

    Wie kann ich herausfinden was im folgenden Text ein String ist?

    print 'abc';

    Das hier würde gehen: \'(.*?)\'

    Aber nicht bei: print 'abc \' sdf';

    Was kann man da machen?

    Danke schonmal!

  • #2
    Code:
    $res = preg_replace("/[\'|\"](.*)[\'|\"]/", "\\1", $text);
    probbiers mal...

    und pass auf...das Forum verschluckt schon wieder bei ' die Escape-Sequenzen

    habs probiert tut nicht...

    warte mal ich kuck mal bissle rum..
    Zuletzt geändert von Moqui; 05.09.2003, 16:05.
    tata
    moqui

    [COLOR=red]Ich will keine unaufgeforderten Mails über PHP Fragen. Es gibt ein Forum hier! Und ich bin nicht Scripter für jeden, der mir ne Mail schreibt![/COLOR]

    Kommentar


    • #3
      Vielen Dank, Moqui!

      Aber bei

      print 'abc';
      print 'abc \' abc';

      zeigt er mir

      'abc';
      print 'abc \' abc'

      an ...

      Doch noch nicht ganz das, was ich wollte ...

      Kommentar


      • #4
        so tuts
        Code:
        $text = "print 'hallo'";
        
        preg_match_all("/([\'|\"])(.*)([\'|\"])/", $text, $out);  
        
        echo $out[2][0];
        gib auf die Escape-Sequenzen acht!

        oder wenn du sicher gehen willst und der String immer ' oder " als letztes Zeichen hat, dann mach

        Code:
        $text = "print 'hallo'";
        
        preg_match_all("/([\'|\"])(.*)([\'|\"])$/", $text, $out);  
        
        echo $out[2][0];
        Zuletzt geändert von Moqui; 05.09.2003, 16:17.
        tata
        moqui

        [COLOR=red]Ich will keine unaufgeforderten Mails über PHP Fragen. Es gibt ein Forum hier! Und ich bin nicht Scripter für jeden, der mir ne Mail schreibt![/COLOR]

        Kommentar


        • #5
          http://www.php-resource.de/tutorials/read/10/1/

          Kommentar


          • #6
            Original geschrieben von TobiaZ
            http://www.php-resource.de/tutorials/read/10/1/
            ich habe mir das tutorial gerade mal angesehen, weil ich sowieso mich gerade mit dem thema befasse.

            mal eine frage: wenn in einem string keine zahl stehen soll, wie macht man das?

            was muss um das [^0-9] herum?

            wenn ich weiß, wie lang der string ist, weiß ich es, aber sonst komme ich nicht drauf. das macht mich gerade verrückt

            Kommentar


            • #7
              Versuch mal /^[^0-9]$/

              Kommentar


              • #8
                Original geschrieben von TobiaZ
                Versuch mal /^[^0-9]$/
                hatte ich schon. allerdings geht es nur für ein Zeichen oder mache ich etwas falsch?

                PHP-Code:
                $msg "abcd";

                if (
                preg_match('/^[^0-9]$/',$msg)) {
                    echo 
                "Okay"
                } else {
                    echo 
                "falsch";

                hier kommt beim testen falsch...

                Kommentar


                • #9
                  dann den quantifier +. steht aber im tutorial!

                  Kommentar


                  • #10
                    Original geschrieben von Pakal
                    wenn in einem string keine zahl stehen soll, wie macht man das?
                    indem du schaust ob eine zahl drin vorkommt?
                    PHP-Code:
                    if (preg_match('%[0-9]%',$text))
                      echo 
                    'Nich mit mir'
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar

                    Lädt...
                    X