Karsten: Regulärer Ausdruck um Punkt in String zu finden

Hallo,

wie kann ich mittels regulärer Ausdrücke in php feststellen, ob ein Punkt '.' in einem String enthalten ist?

Irgendiwe krieg ich es nicht auf die Reihe...

  1. zb. .

    Der Punkt muss auskommentiert werden damit er zeichen erkannt wird.
    Aber warum für sowas Regex stringfunktionen gehen doch auch und schneller?

    Pia

    1. zb. .

      Der Punkt muss auskommentiert werden damit er zeichen erkannt wird.

      Ist mir schon klar

      Aber warum für sowas Regex stringfunktionen gehen doch auch und schneller?

      Regex weil ich das aus Perl noch gewohnt bin. Aber mit welcher Stringfunktion von PHP? Hatte es schon mit strpos probiert

      if(strpos('.', $string) !== false) do_something

      Aber wenn das gesuchte Zeichen an 0. Stelle stand, löste die Bedingung nicht aus.

      1. gudn tach!

        zb. .

        Der Punkt muss auskommentiert werden damit er zeichen erkannt wird.

        Ist mir schon klar

        haettest du dazusagen koennen/sollen. ich vermutete auch erstmal, dass das fehlende maskieren (btw nicht "auskommentieren") dein fehler ist, denn im manual laesst sich ziemlich schnell preg_match finden, wo liegt also das problem?

        if(strpos('.', $string) !== false) do_something

        Aber wenn das gesuchte Zeichen an 0. Stelle stand, löste die Bedingung nicht aus.

        beachte die parameter-reihenfolge von strpos.

        prost
        seth

        1. Hi!

          beachte die parameter-reihenfolge von strpos.

          *klonk*
          Natürlich. Man ignoriere bitte mein anderes Posting.

          mfG

          --
          sh:( fo:§ ch:{ rl:? br:> n4:# ie:} mo:? va:) de:µ zu:| fl:( ss:{ ls:~ js:)
          "And all those exclamation marks, you notice? Five? A sure sign of someone who wears his underpants on his head."
          (Terry Pratchett)
        2. Servus,

          beachte die parameter-reihenfolge von strpos.

          Das ist eines der (nicht allzu vielen) Dinge, die mir in PHP massiv auf den Geist gehen: Die Inkonsistenz in der Parameterreihenfolge ähnlicher Funktionen.

          Gruss
          Patrick

          --
          sh:( fo:| ch:? rl:( br:> n4:( ie:% mo:) va:} de:> zu:) fl:| ss:| ls:[ js:|
          1. Hellihello Patrick,

            Das ist eines der (nicht allzu vielen) Dinge, die mir in PHP massiv auf den Geist gehen: Die Inkonsistenz in der Parameterreihenfolge ähnlicher Funktionen.

            Das war mir als Mikro-User auch schon aufgefallen, konnte das aber nicht in Zusammenhang stellen. Wie kommt denn "sowas"?

            Dank und Gruß,

            frankx

            1. echo $begrüßung;

              Das ist eines der (nicht allzu vielen) Dinge, die mir in PHP massiv auf den Geist gehen: Die Inkonsistenz in der Parameterreihenfolge ähnlicher Funktionen.
              Das war mir als Mikro-User auch schon aufgefallen, konnte das aber nicht in Zusammenhang stellen. Wie kommt denn "sowas"?

              PHP hatte in der Vergangenheit eine Zeit des starken Wachstums, der mit einem ziemlichen Wildwuchs einherging. Deshalb gibt es Inkonsistenzen in der Benamsung von Funktionen und der Parameterreihenfolge. Gelegentlich wurden ja auch schon Korrekturversuche unternommen. Doch sämtliche Inkonsistenzen können nicht einfach so von heut auf morgen beseitigt weden, weil damit eine riesige Anzahl Scripte nicht mehr liefe.

              echo "$verabschiedung $name";

          2. gudn tach!

            beachte die parameter-reihenfolge von strpos.
            Das ist eines der (nicht allzu vielen) Dinge, die mir in PHP massiv auf den Geist gehen: Die Inkonsistenz in der Parameterreihenfolge ähnlicher Funktionen.

            kannst ja zu perl wechseln. http://tnx.nl/php ;-)

            prost
            seth

      2. Hi!

        if(strpos('.', $string) !== false) do_something

        Aber wenn das gesuchte Zeichen an 0. Stelle stand, löste die Bedingung nicht aus.

        Das sollte mit !== aber eigentlich klappen. Speichere den Return-Wert von strpos doch mal in einer Variablen und lasse sie ausgeben. Falls du da 0 bekommst stimmt etwas nicht (nicht mit dem Return-Wert sondern mit dem Vergleich). Verwendest du eventuell eine PHP-Version < 4? ;)

        mfG

        --
        sh:( fo:§ ch:{ rl:? br:> n4:# ie:} mo:? va:) de:µ zu:| fl:( ss:{ ls:~ js:)
        "And all those exclamation marks, you notice? Five? A sure sign of someone who wears his underpants on his head."
        (Terry Pratchett)
      3. Aber warum für sowas Regex stringfunktionen gehen doch auch und schneller?
        Regex weil ich das aus Perl noch gewohnt bin.

        Faule Ausrede, auch Perl bietet eine Reihe von Stringfunktionen, dort u.a. index. Ein RegEx ist auch in Perl nicht notwendig.

        Siechfred

        --
        Ich bin strenggenommen auch nur interessierter Laie. (molily)