Manfred: ereg()

Kann mir jemand einen Hinweis geben, welche Gesetzmäßigkeiten im String Suchmuster bestehen?
0-9 A-Z a-z ist klar
^ $ * ~ [] + - [][]  ist noch unklar
welche Zeichen gibt es noch und wie schreibe ich ein Frei/Leerzeichen

ereg("^([0-9]{1,5})+[A-Za-z-]*$",$Test)

  1. Hallo Manfred.

    Kann mir jemand einen Hinweis geben, welche Gesetzmäßigkeiten im String Suchmuster bestehen?
    0-9 A-Z a-z ist klar
    ^ $ * ~ [] + - [][]  ist noch unklar

    Die Erklärungen zur Syntax beim PCRE Evaluator sollten dir hier weiterhelfen.

    welche Zeichen gibt es noch

    Jedes, was du möchtest, sprich: alle.

    und wie schreibe ich ein Frei/Leerzeichen

    Genau so, wie du es hier zwischen den Wörtern tust.

    ereg("^([0-9]{1,5})+[A-Za-z-]*$",$Test)

    ?

    Einen schönen Sonntag noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
    [HTML Design Constraints: Logical Markup]
    1. echo $begrüßung;

      Die Erklärungen zur Syntax beim PCRE Evaluator sollten dir hier weiterhelfen.

      ereg("^([0-9]{1,5})+[A-Za-z-]*$",$Test)

      Die PCRE-Regeln gelten aber nur teilweise für ereg(). Lässt sich der PCRE-Evaluator auf die POSIX-Regeln umstellen?

      Regular Expression Functions (Perl-Compatible)
      Regular Expression Functions (POSIX Extended)

      echo "$verabschiedung $name";

      1. Hallo dedlfix.

        Die PCRE-Regeln gelten aber nur teilweise für ereg().

        Ja, ich habe es versäumt, auf die preg_*-Funktionen hinzuweisen.

        Einen schönen Sonntag noch.

        Gruß, Ashura

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
        [HTML Design Constraints: Logical Markup]
  2. Hallo,

    und wie schreibe ich ein Frei/Leerzeichen

    Ein Leerzeichen wird durch \s symbolisiert.

    Grüsse,
    Honda

    1. Hi,

      und wie schreibe ich ein Frei/Leerzeichen
      Ein Leerzeichen wird durch \s symbolisiert.

      nö.

      Cheatah

      --
      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
      1. gudn tach!

        und wie schreibe ich ein Frei/Leerzeichen
        Ein Leerzeichen wird durch \s symbolisiert.

        nö.

        ein leerzeichen wird naemlich durch ein leerzeichen ' ' symbolisiert.
        \s steht fuer whitespace (d.h. z.b. tabulator, leerzeichen oder zeilenumbruch).

        prost
        seth

        1. Hallo Seth,
          warum geht das dann nicht? ;-(

          ereg("^([ein' '][Test])|([ein][' 'Test])$",$Test)

          1. gudn tach!

            warum geht das dann nicht? ;-(

            ereg("^([ein' '][Test])|([ein][' 'Test])$",$Test)

            [] bezeichnet eine zeichenklasse.
            [ein' '] ist also ein zeichen aus der klasse der zeichen [ein '], also ein 'e', ein 'i', ein 'n', ein leerzeichen oder ein apostroph. genaueres siehe dort.

            "^([ein' '][Test])|([ein][' 'Test])$" ist also wie
            "^([ein '][estT])|([ein][estT '])$"
            strings die von "^([ein '][estT])|([ein][estT '])$" gematcht wuerden, waeren also z.b.
            "et"
            " T"
            "e'"
            "is"

            in perl-syntax oder pseudo-perl-compatible-regexp-syntax (pcre) koennte man das uebrigens imho huebscher schreiben:
            /^(?![' ]{2})([ein '][estT '])$/

            prost
            seth

            1. Hallo Seth,

              dann müßte das ergeben. Ist das mit dem OR so richtig geschrieben?

              ereg("^(ein Test)+|((ein)+( ){1}+(Test)+)$",$Test)

              ein Test
              Test ein

              1. gudn tach!

                Ist das mit dem OR so richtig geschrieben?

                ereg("^(ein Test)+|((ein)+( ){1}+(Test)+)$",$Test)

                was moechtest du denn eigentlich?

                ein Test
                Test ein

                dafuer koenntest du auch einfach '^(ein Test|Test ein)$' verwenden.

                bist du wirklich auf posix angewiesen oder waeren dir auch perl-aehnliche regulaere ausdruecke recht?
                fuer letztere gibt's naemlich viele gute dokumentationen. dedlfix machte dich ja bereits auf das php-manual aufmerksam.

                prost
                seth