KD-one: RegEx - Ich krieg's nicht gebacken...

Hi alle,

mit ^(.+)@(.+).[.^.]{2,}$ soll eine e-mailadresse überprüft werden, wobei dieser Teil [.^.]{2,} besondere Probleme macht.
Hier soll darauf geprüft werden, ob mindestens 2 beliebige Zeichen, die aber kein Punkt sein dürfen, vorhanden sind.
Die Negierung des Punktes im Zusammenhang mit dem Vorhandenseinmüssen der mindestens 2 Zeichen macht mir wirklich Kopfzerbrechen.
Ich probier schon fast 2 Stunden und komme auf keinen grünen Zweig.
Irgendwie geben auch die ganzen Tutorials zu diesem speziellen Thema zu wenig her für mich.

Gruß

Kurt

--
Nein, ich beantworte keine Anfragen per e-mail.
ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
"Alles, was gelernt werden kann, ist nicht der Muehe wert, gelernt zu werden."  (Laotse; chin. Philosoph; 4.-3. Jh. v. Chr.)
http://elektro-dunzinger.at
http://shop.elektro-dunzinger.at
  1. Hi alle,

    Ich war so darauf fixiert, auf ein beliebiges Zeichen zu prüfen, daß ich die einfachste Lösung übersehen habe:
    ^(.+)@(.+).[^.]{2,}$
    *schäm*

    Gruß

    Kurt

    --
    Nein, ich beantworte keine Anfragen per e-mail.
    ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
    "Kein Problem wird geloest, wenn wir traege darauf warten, dass Gott allein sich darum kuemmert."  (Martin Luther King; am. Buergerrechtler; 1929-1968)
    http://elektro-dunzinger.at
    http://shop.elektro-dunzinger.at
  2. Hallo KD-one.

    Hier soll darauf geprüft werden, ob mindestens 2 beliebige Zeichen, die aber kein Punkt sein dürfen, vorhanden sind.

    So umfangreich ist es eigentlich nicht, die erlaubten Zeichen in eine Klasse zu packen, da es sich ja um die TLD handelt. Er könnte bspw. dann so lauten:

    ^(.+)@(.+).[a-zA-Z]{2,}$

    Allerdings ist dein RegEx so nicht unbedingt brauchbar, er matcht auch auf "..@..de", und dies ist definitiv keine gültige E-Mail. Im Endeffekt prüfst du nämlich nur das Vorhandensein des "@" und der TLD. Da gibt es einen RegEx für die Gültigkeit von E-Mails von CK in den Feature-Artikeln, der hilft dir auf jeden Fall weiter.

    Freundschaft!
    Siechfred

    --
    Punk's not dead: http://www.siechfreds-welt.de/badreligion.shtml
    Dankbarkeit, man spürt sie ja so selten bei den Menschen, und gerade die Dankbarsten finden nicht den Ausdruck dafür, sie schweigen verwirrt, sie schämen sich und tun manchmal stockig, um ihr Gefühl zu verbergen. (Stefan Zweig)
    ie:) fl:) br:? va:{ ls:? fo:§ rl:( n4:} ss:? de:µ js:{ ch:° sh:( mo:? zu:}
    1. Hi Siechfred,

      Allerdings ist dein RegEx so nicht unbedingt brauchbar, er matcht auch auf "..@..de", und dies ist definitiv keine gültige E-Mail. Im Endeffekt prüfst du nämlich nur das Vorhandensein des "@" und der TLD. Da gibt es einen RegEx für die Gültigkeit von E-Mails von CK in den Feature-Artikeln, der hilft dir auf jeden Fall weiter.

      Ich zitiere hier mal Sven Rautenberg, dessen Intention ich übernommen habe, da ich denke, er weiss, wovon er spricht:
      <zitat>
      Deshalb mein guter Rat: Eine Mailadresse, der man von überall her schreiben kann, besteht aus: Mindestens einem Zeichen, einem @, mindestens einem Zeichen, einem Punkt, und mindestens zwei Zeichen, die kein Punkt sind.
      </zitat>
      Genauso habe ich versucht, meine RegEx aufzubauen, um künftige Änderungen abzufangen, ohne gleich jedesmal nachbessern zu müssen.
      Das Argument mit dem Punkt scheint mir aber schlüssig, folglich müsste die RegEx so aufgebaut werden:
      [1]@[^.].[^.]{2,}$
      Stimmt das nun so???

      Gruß

      Kurt

      --
      Nein, ich beantworte keine Anfragen per e-mail.
      ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
      "Die Destination des Menschen liegt in der Weisheit, die es zu erlangen gilt."  (Moriartes, gr. Philosoph, 314-244 v. Chr.)"
      http://elektro-dunzinger.at
      http://shop.elektro-dunzinger.at

      1. ^. ↩︎

      1. Hi,

        <zitat>

        [...]

        [1]@[^.].[^.]{2,}$
        Stimmt das nun so???

        Du hast ein paar "mindestens" vergessen. Das "... die kein Punkt sind" könnte Sven sicher auch günstiger formulieren.

        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. ^. ↩︎

        1. Hi Cheatah,

          [...]

          [1]@[^.].[^.]{2,}$
          Stimmt das nun so???

          Du hast ein paar "mindestens" vergessen.

          Stimmt. [pref:t=85714&m=505212]

          Das "... die kein Punkt sind" könnte Sven sicher auch günstiger formulieren.

          Wie meinst du das?

          Gruß

          Kurt

          --
          Nein, ich beantworte keine Anfragen per e-mail.
          ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
          "Wer der Meinung ist, dass er fuer Geld alles haben kann, geraet leicht in den Verdacht, dass er fuer Geld alles zu tun bereit ist."  (Benjamin Franklin; am. Politiker; 1706-1790)
          http://elektro-dunzinger.at
          http://shop.elektro-dunzinger.at

          1. ^. ↩︎

          1. Hi,

            Das "... die kein Punkt sind" könnte Sven sicher auch günstiger formulieren.
            Wie meinst du das?

            "foo@bla.#*" wäre IMHO keine gültige eMail-Adresse, obwohl die beiden Zeichen nach dem Punkt keine Punkte sind.

            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. Hi Cheatah,

              Hi,

              Das "... die kein Punkt sind" könnte Sven sicher auch günstiger formulieren.
              Wie meinst du das?

              "foo@bla.#*" wäre IMHO keine gültige eMail-Adresse, obwohl die beiden Zeichen nach dem Punkt keine Punkte sind.

              Klar. Aber wie sollte ich darauf eine RegEx schreiben, die all das erfasst?

              Gruß

              Kurt

              --
              Nein, ich beantworte keine Anfragen per e-mail.
              ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
              "Wenn du kritisiert wirst, dann musst du irgend etwas richtig machen. Denn man greift nur denjenigen an, der den Ball hat."  (Bruce Lee; chin. Kampfsportler u. Philosoph; 1940-1973)
              http://elektro-dunzinger.at
              http://shop.elektro-dunzinger.at
              1. Hi,

                "foo@bla.#*" wäre IMHO keine gültige eMail-Adresse, obwohl die beiden Zeichen nach dem Punkt keine Punkte sind.
                Klar. Aber wie sollte ich darauf eine RegEx schreiben, die all das erfasst?

                Du arbeitest mit Blacklists, erlaubst also alles bis auf Ausnahmen. Bei Hostnamen ist sehr streng (und einfach) definiert, welche Zeichen alles erlaubt sind - entsprechend lohnt sich eine Whitelist.

                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. Hi Cheatah,

                  Du arbeitest mit Blacklists, erlaubst also alles bis auf Ausnahmen. Bei Hostnamen ist sehr streng (und einfach) definiert, welche Zeichen alles erlaubt sind - entsprechend lohnt sich eine Whitelist.

                  Wo kann man das nachlesen?
                  Hast du da eine, wenn möglich deutschsprachige, Adresse?

                  Gruß

                  Kurt

                  --
                  Nein, ich beantworte keine Anfragen per e-mail.
                  ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
                  "Nur der Irrtum ist das Leben, und das Wissen ist der Tod."  (Johann Christoph Friedrich Schiller; dt. Dichter u. Schriftsteller; 1759-1805)
                  http://elektro-dunzinger.at
                  http://shop.elektro-dunzinger.at
                  1. Hi,

                    Du arbeitest mit Blacklists, erlaubst also alles bis auf Ausnahmen. Bei Hostnamen ist sehr streng (und einfach) definiert, welche Zeichen alles erlaubt sind - entsprechend lohnt sich eine Whitelist.
                    Wo kann man das nachlesen?

                    das Aussehen von Hostnamen? Hier:

                    Ein Hostname besteht aus durch Punkt voneinander getrennte Segmente, welche aus Buchstaben, Ziffern und dem Bindestrich bestehen dürfen.

                    Die Länge weiß ich gerade nicht auswendig.

                    Hast du da eine, wenn möglich deutschsprachige, Adresse?

                    Eine englischsprachige könnte ich Dir raussuchen, deutschsprachigen Quellen würde ich gerade bei Definitionen niemals trauen.

                    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. Hi Cheatah,

                      Wo kann man das nachlesen?

                      das Aussehen von Hostnamen? Hier:

                      Ein Hostname besteht aus durch Punkt voneinander getrennte Segmente, welche aus Buchstaben, Ziffern und dem Bindestrich bestehen dürfen.

                      keine Sonderzeichen?

                      Also, ich meinte zwar die TLD, aber der ist auch gut.

                      Also so:
                      ^(.+)@[-.a-zäöüA-ZÄÖÜ0-9]+.[a-zA-Z]{2,}$

                      Die Länge weiß ich gerade nicht auswendig.

                      Hostnamen sind ebenfalls in der Länge beschränkt???

                      Hast du da eine, wenn möglich deutschsprachige, Adresse?

                      Eine englischsprachige könnte ich Dir raussuchen, deutschsprachigen Quellen würde ich gerade bei Definitionen niemals trauen.

                      Gut, zur Not täte es auch eine englischsprachige, wenn auch es hart wird... ;-)

                      Gruß

                      Kurt

                      --
                      Nein, ich beantworte keine Anfragen per e-mail.
                      ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
                      "Was noch zu leisten ist, das bedenke, was du schon geleistet hast, das vergiss."  (Marie von Ebner-Eschenbach; oest. Schriftstellerin; 1830-1916)
                      http://elektro-dunzinger.at
                      http://shop.elektro-dunzinger.at
                      1. Hi,

                        Ein Hostname besteht aus durch Punkt voneinander getrennte Segmente, welche aus Buchstaben, Ziffern und dem Bindestrich bestehen dürfen.
                        keine Sonderzeichen?

                        keine Sonderzeichen.

                        Also so:
                        ^(.+)@[-.a-zäöüA-ZÄÖÜ0-9]+.[a-zA-Z]{2,}$

                        Internationale Domainnamen werden durch die o.g. Zeichen repräsentiert. Letzten Endes sind nur Buchstaben, Ziffern und Bindestriche in den Hostsegmenten. Natürlich kannst Du auf diese Weise eine Konvertierung vermeiden; allerdings sind nur deutsche Umlaute absolut nicht ausreichend.

                        Hostnamen sind ebenfalls in der Länge beschränkt???

                        Ja.

                        Gut, zur Not täte es auch eine englischsprachige, wenn auch es hart wird... ;-)

                        Argl, jetzt muss ich echt noch zu später Stunde den RFC suchen? :-) Macht's Dir was aus, wenn ich das verschiebe?

                        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. Hi Cheatah,

                          Also so:
                          ^(.+)@[-.a-zäöüA-ZÄÖÜ0-9]+.[a-zA-Z]{2,}$

                          Internationale Domainnamen werden durch die o.g. Zeichen repräsentiert. Letzten Endes sind nur Buchstaben, Ziffern und Bindestriche in den Hostsegmenten. Natürlich kannst Du auf diese Weise eine Konvertierung vermeiden; allerdings sind nur deutsche Umlaute absolut nicht ausreichend.

                          Welche wären denn da noch von Bedeutung? :o)

                          Gut, zur Not täte es auch eine englischsprachige, wenn auch es hart wird... ;-)

                          Argl, jetzt muss ich echt noch zu später Stunde den RFC suchen? :-) Macht's Dir was aus, wenn ich das verschiebe?

                          Nein, natürlich nicht. Meine RegEx wird das schon noch ein Weilchen tun... :-)
                          Boah ey, welch ein Marathon...
                          Danke dir auf alle Fälle vorläufig. :-)

                          Gruß

                          Kurt

                          --
                          Nein, ich beantworte keine Anfragen per e-mail.
                          ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
                          "Der Beruf ist eine Schutzwehr, hinter welche man sich erlaubterweise zurueckziehen kann, wenn Bedenken und Sorgen allgemeiner Art einen anfallen."  (Friedrich Willhelm Nietzsche; dt. Philosoph; 1844-1900)
                          http://elektro-dunzinger.at
                          http://shop.elektro-dunzinger.at
                          1. Hi,

                            allerdings sind nur deutsche Umlaute absolut nicht ausreichend.
                            Welche wären denn da noch von Bedeutung? :o)

                            http://www.denic.de/de/faqs/idn_faqs/index.html Du lesen sollst, beantwortet werden Deine Fragen dort ;-)

                            Argl, jetzt muss ich echt noch zu später Stunde den RFC suchen? :-) Macht's Dir was aus, wenn ich das verschiebe?
                            Nein, natürlich nicht. Meine RegEx wird das schon noch ein Weilchen tun... :-)

                            Wenn ich Dir einen Tipp geben darf: Sie wird's auch ohne den RFC tun ;-)

                            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. Hi Cheatah,

                              Hi,

                              allerdings sind nur deutsche Umlaute absolut nicht ausreichend.
                              Welche wären denn da noch von Bedeutung? :o)

                              http://www.denic.de/de/faqs/idn_faqs/index.html Du lesen sollst, beantwortet werden Deine Fragen dort ;-)

                              Ja Meister, werd ich den je den Status eines Jedis erreichen? :o)

                              Argl, jetzt muss ich echt noch zu später Stunde den RFC suchen? :-) Macht's Dir was aus, wenn ich das verschiebe?
                              Nein, natürlich nicht. Meine RegEx wird das schon noch ein Weilchen tun... :-)

                              Wenn ich Dir einen Tipp geben darf: Sie wird's auch ohne den RFC tun ;-)

                              Natürlich, aber fürs Verständnis ist dieser Thread auch nicht zu verachten. ;-)

                              Gruß

                              Kurt

                              --
                              Nein, ich beantworte keine Anfragen per e-mail.
                              ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
                              "Verantwortlich ist man nicht nur fuer das, was man tut, sondern auch fuer das, was man nicht tut."  (Laotse; chin. Philosoph; 4.-3. Jh. v. Chr.)
                              http://elektro-dunzinger.at
                              http://shop.elektro-dunzinger.at
                              1. Hi,

                                Ja Meister, werd ich den je den Status eines Jedis erreichen? :o)

                                nein, junger Padawan, denn die Statuszeile eines Jedis ist gegen Schreibzugriffe geschützt ;-)

                                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. Hi Cheatah,

                                  Hi,

                                  Ja Meister, werd ich den je den Status eines Jedis erreichen? :o)

                                  nein, junger Padawan, denn die Statuszeile eines Jedis ist gegen Schreibzugriffe geschützt ;-)

                                  *lol* in dem Satz konntest auch nur _du_ eine Zweideutigkeit entdecken... *g*

                                  Gruß

                                  Kurt

                                  --
                                  Nein, ich beantworte keine Anfragen per e-mail.
                                  ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
                                  "Politiker sagen das, was ankommt, und nicht das, worauf es ankommt."  (Hans-Olaf Henkel; dt. Industriemanager; geb. 1940)
                                  http://elektro-dunzinger.at
                                  http://shop.elektro-dunzinger.at
                                  1. Hi,

                                    Ja Meister, [...]
                                    *lol* in dem Satz konntest auch nur _du_ eine Zweideutigkeit entdecken... *g*

                                    Du nanntest mich zu Recht "Meister" ;-)

                                    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
                            2. Hi Cheatah,

                              http://www.denic.de/de/faqs/idn_faqs/index.html

                              Boah ey, das sind ja 92 zusätzliche Zeichen!
                              Wie soll ich die alle in der RegEx unterbringen?
                              Gibt es dafür oder für einzelne Gruppen Sammelbegriffen wie z.B. \s für alle Arten von Leerzeichen?

                              Gruß

                              Kurt

                              --
                              Nein, ich beantworte keine Anfragen per e-mail.
                              ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
                              "Die Destination des Menschen liegt in der Weisheit, die es zu erlangen gilt."  (Moriartes, gr. Philosoph, 314-244 v. Chr.)"
                              http://elektro-dunzinger.at
                              http://shop.elektro-dunzinger.at
                              1. Hi,

                                http://www.denic.de/de/faqs/idn_faqs/index.html
                                Boah ey, das sind ja 92 zusätzliche Zeichen!

                                nö - kein einziges, wenn Du es richtig umsetzt ;-)

                                Gibt es dafür oder für einzelne Gruppen Sammelbegriffen wie z.B. \s für alle Arten von Leerzeichen?

                                \w ist abhängig von Deinem Locale (was Dir hier auch nichts nützt), ansonsten nicht.

                                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. Hi Cheatah,

                                  Hi,

                                  http://www.denic.de/de/faqs/idn_faqs/index.html
                                  Boah ey, das sind ja 92 zusätzliche Zeichen!

                                  nö - kein einziges, wenn Du es richtig umsetzt ;-)

                                  So? Da hätte ich aber nun mal wirklich dringend Nachhilfe nötig.
                                  Ich habe keine Ahnung, worauf du hinaus willst... :-/

                                  Gibt es dafür oder für einzelne Gruppen Sammelbegriffen wie z.B. \s für alle Arten von Leerzeichen?

                                  \w ist abhängig von Deinem Locale (was Dir hier auch nichts nützt), ansonsten nicht.

                                  Abhängig von was?

                                  Gruß

                                  Kurt

                                  --
                                  Nein, ich beantworte keine Anfragen per e-mail.
                                  ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
                                  "Tadele nicht den Fluss, wenn du ins Wasser faellst."  (ind. Sprichwort)
                                  http://elektro-dunzinger.at
                                  http://shop.elektro-dunzinger.at
                                  1. Hi,

                                    Boah ey, das sind ja 92 zusätzliche Zeichen!
                                    nö - kein einziges, wenn Du es richtig umsetzt ;-)
                                    So? Da hätte ich aber nun mal wirklich dringend Nachhilfe nötig.
                                    Ich habe keine Ahnung, worauf du hinaus willst... :-/

                                    auf das, was ich in [pref:t=85714&m=505302] schon sagte.

                                    \w ist abhängig von Deinem Locale (was Dir hier auch nichts nützt), ansonsten nicht.
                                    Abhängig von was?

                                    "Von Deiner Ländereinstellung."

                                    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. Hi Cheatah,

                                      Boah ey, das sind ja 92 zusätzliche Zeichen!
                                      nö - kein einziges, wenn Du es richtig umsetzt ;-)
                                      So? Da hätte ich aber nun mal wirklich dringend Nachhilfe nötig.
                                      Ich habe keine Ahnung, worauf du hinaus willst... :-/

                                      auf das, was ich in [pref:t=85714&m=505302] schon sagte.

                                      Soweit so gut, _das_ habe ich schon begriffen, nur komm ich nicht drauf, wie du all die neuen Sonderzeichen berücksichtigen willst, ohne einzelne Zeichen anzuführen!????!

                                      \w ist abhängig von Deinem Locale (was Dir hier auch nichts nützt), ansonsten nicht.
                                      Abhängig von was?

                                      "Von Deiner Ländereinstellung."

                                      Ja ok, damit fällt \w auch flach, jetzt bin ich genauso klug wie vorher. *nuntotalverwirrt*

                                      Gruß

                                      Kurt

                                      --
                                      Nein, ich beantworte keine Anfragen per e-mail.
                                      ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
                                      "Arm ist nicht der, der wenig hat, sondern der, der nicht genug bekommen kann."  (Jean Gu&eacute;henno; fr. Paedagoge, Kritiker u. Schriftsteller; 1890-1978)
                                      http://elektro-dunzinger.at
                                      http://shop.elektro-dunzinger.at
                                      1. Hi,

                                        [pref:t=85714&m=505302]
                                        Soweit so gut, _das_ habe ich schon begriffen, nur komm ich nicht drauf, wie du all die neuen Sonderzeichen berücksichtigen willst, ohne einzelne Zeichen anzuführen!????!

                                        es existiert eine Repräsentation jeder IDN, die nur aus Buchstaben, Ziffern, Bindestrichen und Punkten besteht.

                                        Ja ok, damit fällt \w auch flach, jetzt bin ich genauso klug wie vorher. *nuntotalverwirrt*

                                        Du kannst Dich nach wie vor für "." entscheiden, wenn Dir das ausreicht.

                                        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. Hi Cheatah,

                                          [pref:t=85714&m=505302]
                                          Soweit so gut, _das_ habe ich schon begriffen, nur komm ich nicht drauf, wie du all die neuen Sonderzeichen berücksichtigen willst, ohne einzelne Zeichen anzuführen!????!

                                          es existiert eine Repräsentation jeder IDN, die nur aus Buchstaben, Ziffern, Bindestrichen und Punkten besteht.

                                          Du sprichst in Rätseln, weisst du das?

                                          Ja ok, damit fällt \w auch flach, jetzt bin ich genauso klug wie vorher. *nuntotalverwirrt*

                                          Du kannst Dich nach wie vor für "." entscheiden, wenn Dir das ausreicht.

                                          Es geht mir nicht um ausreichend oder nicht, es geht mir ums Verständnis. Eine e-Mailadresse zu prüfen, sollte in einem Gästebuch nun doch wirklich nicht zum Stolperstein werden, aber ich möchte schon gerne wissen, worauf du hinaus willst, um eben mein Wissen zu erweitern. *neugierigguck*
                                          Nun hast du ein Thema aufgegriffen, das mich interessiert, also lass mich bitte nicht dumm sterben.

                                          Gruß

                                          Kurt

                                          --
                                          Nein, ich beantworte keine Anfragen per e-mail.
                                          ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
                                          "Wer nicht gerne denkt, sollte wenigstens von Zeit zu Zeit seine Vorurteile neu gruppieren."  (Luther Burbank; am. Biologe; 1849-1926)
                                          http://elektro-dunzinger.at
                                          http://shop.elektro-dunzinger.at
                                          1. Hi,

                                            es existiert eine Repräsentation jeder IDN, die nur aus Buchstaben, Ziffern, Bindestrichen und Punkten besteht.
                                            Du sprichst in Rätseln, weisst du das?

                                            nicht, wenn Du die Denic-FAQ zu IDN gelesen hast :-)

                                            Es geht mir nicht um ausreichend oder nicht, es geht mir ums Verständnis. Eine e-Mailadresse zu prüfen, sollte in einem Gästebuch nun doch wirklich nicht zum Stolperstein werden, aber ich möchte schon gerne wissen, worauf du hinaus willst, um eben mein Wissen zu erweitern. *neugierigguck*

                                            Ich möchte nur darauf hinaus, dass Du Dir der Probleme einer jeden RegExp bewusst bist. Mehr will ich nicht.

                                            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. Hi Cheatah,

                                              es existiert eine Repräsentation jeder IDN, die nur aus Buchstaben, Ziffern, Bindestrichen und Punkten besteht.
                                              Du sprichst in Rätseln, weisst du das?

                                              nicht, wenn Du die Denic-FAQ zu IDN gelesen hast :-)

                                              Doch. Ich hab die FAQ gelesen. Und nachdem ich dieses Posting gelesen habe, nochmal und nochmal...
                                              Der einzige Punkt, welcher eine vage Ahnung ausgelöst hat, wäre der:
                                              <zitat>
                                              Zusätzlich zu den bisher erlaubten Zeichen (den 26 lateinischen Buchstaben, den zehn Ziffern und dem Bindestrich) sind 92 weitere Zeichen dazukommen. Es handelt sich um Kleinbuchstaben der Unicode-Blöcke Latin-1 Supplement und Latin Extended-A, die nach der Normalisierung durch die Funktion "Nameprep" noch zur Verfügung stehen. Dazu gehören u.a. die Umlaute ä, ö und ü sowie Buchstaben mit Akzenten und anderen diakritischen Zeichen. Eine Liste [...]zusammengestellt.
                                              </zitat>
                                              Allerdings weiss ich, selbst wenn du das angesprochen haben solltest, recht wenig damit anzufangen.
                                              Analysieren wir mal:
                                              Ok, es sind zwei Zeichensätze, welche neu aufgenommen wurden, die aber erst etwas namens "Nameprep" durchlaufen müssen, um zur Verfügung zu stehen. Hier hört mein Verständnis nun zur Gänze auf. Ab hier wäre ich dir dankbar, wenn du mir auf die Sprünge helfen könntest, sofern ich mich nicht zur Gänze verzettelt habe.

                                              Es geht mir nicht um ausreichend oder nicht, es geht mir ums Verständnis. Eine e-Mailadresse zu prüfen, sollte in einem Gästebuch nun doch wirklich nicht zum Stolperstein werden, aber ich möchte schon gerne wissen, worauf du hinaus willst, um eben mein Wissen zu erweitern. *neugierigguck*

                                              Ich möchte nur darauf hinaus, dass Du Dir der Probleme einer jeden RegExp bewusst bist. Mehr will ich nicht.

                                              *lol*
                                              Nun muss ich lachen, die Probleme türmen sich vor mir auf wie die Alpen. *g*

                                              Gruß

                                              Kurt

                                              --
                                              Nein, ich beantworte keine Anfragen per e-mail.
                                              ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
                                              "Zur Unterhaltung einer Party traegt niemand so viel bei wie diejenigen, die gar nicht da sind."  (Audrey Hepburn; engl.-am. Schauspielerin; 1929-1993)
                                              http://elektro-dunzinger.at
                                              http://shop.elektro-dunzinger.at
                                              1. use Mosche;

                                                [IDN]

                                                Wenn dich das Thema interessiert, schau doch einfach mal in Ausgabe 08/04 des Linux-Magazins, da wird das drin erläutert, insbesondere auch "Nameprep" (zu Name preparation). Dort wird, ich zitiere aus dem Linux-Magazin, folgendes gemacht:

                                                <cite src="Linux Magazin 08/2004, S. 61">
                                                Noch vor der Kodierung mit dem Punycode-Algorithmus werden die Namen normalisiert. Die dafür geltenden Regeln definiert die RFC 3491 mit seinen Anhängen. Diese Namepreparation (Nameprep) wandelt alle Groß- in Kleinbuchstaben. Außerdem fasst sie aufeinander folgende Zeichen dort, wo möglich, zusammen.
                                                </cite>

                                                use Tschoe qw(Matti);

                                                --
                                                  Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
                                                1. Hi Matti,

                                                  Wenn dich das Thema interessiert, schau doch einfach mal in Ausgabe 08/04 des Linux-Magazins, da wird das drin erläutert, insbesondere auch "Nameprep" (zu Name preparation). Dort wird, ich zitiere aus dem Linux-Magazin, folgendes gemacht:

                                                  <cite src="Linux Magazin 08/2004, S. 61">
                                                  Noch vor der Kodierung mit dem Punycode-Algorithmus werden die Namen normalisiert. Die dafür geltenden Regeln definiert die RFC 3491 mit seinen Anhängen. Diese Namepreparation (Nameprep) wandelt alle Groß- in Kleinbuchstaben. Außerdem fasst sie aufeinander folgende Zeichen dort, wo möglich, zusammen.
                                                  </cite>

                                                  ok, ich werde mir mal das Magazin besorgen.
                                                  Hast du einen Link, wo ich die RFC nachlesen kann?
                                                  Verflixt nochmal, ich hab hier 12 Tabs nur zum Thema RegEx offen und trete nur auf der Stelle... :-/

                                                  Gruß

                                                  Kurt

                                                  --
                                                  Nein, ich beantworte keine Anfragen per e-mail.
                                                  ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
                                                  "Tadele nicht den Fluss, wenn du ins Wasser faellst."  (ind. Sprichwort)
                                                  http://elektro-dunzinger.at
                                                  http://shop.elektro-dunzinger.at
                                                  1. Morgen Kurt.

                                                    Hast du einen Link, wo ich die RFC nachlesen kann?

                                                    Klar doch: ftp://ftp.rfc-editor.org/in-notes/rfc3491.txt

                                                    Freundschaft!
                                                    Siechfred

                                                    --
                                                    Punk's not dead: http://www.siechfreds-welt.de/badreligion.shtml
                                                    Dankbarkeit, man spürt sie ja so selten bei den Menschen, und gerade die Dankbarsten finden nicht den Ausdruck dafür, sie schweigen verwirrt, sie schämen sich und tun manchmal stockig, um ihr Gefühl zu verbergen. (Stefan Zweig)
                                                    ie:) fl:) br:? va:{ ls:? fo:§ rl:( n4:} ss:? de:µ js:{ ch:° sh:( mo:? zu:}
                                                    1. Hi Siechfred,

                                                      Hast du einen Link, wo ich die RFC nachlesen kann?

                                                      Klar doch: ftp://ftp.rfc-editor.org/in-notes/rfc3491.txt

                                                      Danke dir. Werd mich da mal durchackern.

                                                      Gruß

                                                      Kurt

                                                      --
                                                      Nein, ich beantworte keine Anfragen per e-mail.
                                                      ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
                                                      "Die Erfahrung laesst sich ein hohes Schulgeld zahlen, doch sie lehrt wie niemand sonst."  (Thomas Carlyle; engl. Schriftsteller; 1795-1881)
                                                      http://elektro-dunzinger.at
                                                      http://shop.elektro-dunzinger.at
    2. Moin,

      ^(.+)@(.+).[a-zA-Z]{2,}$

      das wird nix bringen. Bereits das erste .+ "frisst" alles folgende auf, auch wenn es ein @ ist. Siehe SelfHTML.

      ^(.+?)@(.+?).[a-zA-Z]{2,}$

      wäre sinnvoller. Obwohl man eigentlich bei {2,} die Begrenzung 3 machen könnte, also {2,3}. oder gibt es TLD's, die länger als 3 Zeichen sind?

      Darüberhinaus könnte man die gültigen zeichen für die Domain näher angeben:

      [a-zA-Z0-9.-]

      und vor dem @:

      [a-zA-Z0-9_.-]

      resultierend:

      ([a-zA-Z0-9_.-]+?)@([a-zA-Z0-9.-]+?).[a-zA-Z]{2,3}$

      wobei hier noch nicht die Umlaut-Domains erkannt werden.

      Außerdem: warum soll eigentlich nicht die komplette Domain ge"cacht" werden? Ohne TLD bring eine Domain herzlich wenig.

      Gruß,

      Sven

      --
      !:        I'm back. Ferien auch. Höchstwahrscheinlich bin ich bald wieder weg 8|
      Selfcode: ie:% fl:| br:^ va:{ ls:& fo:) rl:( n4:( ss:) de:> js:| ch:° mo:} zu:}
      Encode:   http://forum.de.selfhtml.org/cgi-bin/selfcode.pl
      Decode:   http://peter.in-berlin.de/projekte/selfcode/
      E-Mail:   coming soon
      me:       'd comed long ago
      1. Hallo Sven.

        ^(.+)@(.+).[a-zA-Z]{2,}$
        das wird nix bringen.

        Oh doch, denn es "frisst" alles bis zum letzten @ (Stichwort gierige Suchmuster) und liefert dir so den Userpart der E-Mail. Siehe http://de.selfhtml.org/cgiperl/sprache/regexpr.htm#gierig_genuegsam

        ^(.+?)@(.+?).[a-zA-Z]{2,}$ wäre sinnvoller.

        Nein, der RegEx ist und bleibt genauso ungenügend wie der von Kurt gepostete.

        Obwohl man eigentlich bei {2,} die Begrenzung 3 machen könnte, also {2,3}. oder gibt es TLD's, die länger als 3 Zeichen sind?

        Ja, "info" zum Beispiel.

        Darüberhinaus könnte man die gültigen zeichen für die Domain näher angeben:

        Ja, da gebe ich dir Recht.

        ([a-zA-Z0-9_.-]+?)@([a-zA-Z0-9.-]+?).[a-zA-Z]{2,3}$

        Allerdings: der RegEx ist und bleibt weiterhin ungenügend, denn er matcht immer noch auf "..@..de". Cheatahs Idee mit der Whitelist erscheint mir immer noch am gängigsten, ansonsten schau dir mal den RegEx von CK an. Btw, in Zeichenklassen brauchen reservierte Zeichen nicht maskiert zu werden.

        Freundschaft!
        Siechfred

        --
        Punk's not dead: http://www.siechfreds-welt.de/badreligion.shtml
        Dankbarkeit, man spürt sie ja so selten bei den Menschen, und gerade die Dankbarsten finden nicht den Ausdruck dafür, sie schweigen verwirrt, sie schämen sich und tun manchmal stockig, um ihr Gefühl zu verbergen. (Stefan Zweig)
        ie:) fl:) br:? va:{ ls:? fo:§ rl:( n4:} ss:? de:µ js:{ ch:° sh:( mo:? zu:}
        1. Moin Siechfried,

          ^(.+)@(.+).[a-zA-Z]{2,}$
          das wird nix bringen.
          Oh doch, denn es "frisst" alles bis zum letzten @ (Stichwort gierige Suchmuster) und liefert dir so den Userpart der E-Mail. Siehe http://de.selfhtml.org/cgiperl/sprache/regexpr.htm#gierig_genuegsam

          afaik nein. Das erste .+ frisst _alles_, da . _jedes_ zeichen macht (außer meinetwegen newline oder sowas). Eine "Abfrage", ob ein string also darauf passt, wird nix bringen.

          Du widersprichst gerade KD-one, der auch auf mein posting geantwortet hat, und ich würde ihm zustimmen... was stimmt den nun!?

          Ja, "info" zum Beispiel.

          hm - stimmt.

          Allerdings: der RegEx ist und bleibt weiterhin ungenügend, denn er matcht immer noch auf "..@..de". Cheatahs Idee mit der Whitelist erscheint mir immer noch am gängigsten, ansonsten schau dir mal den RegEx von CK an. Btw, in Zeichenklassen brauchen reservierte Zeichen nicht maskiert zu werden.

          hm - entweder ich bin zu dumm zum suchen oder... - ich finde CK's RegEx nicht. Wie heißt denn der Feature-Artikel, in dem der steht?

          Gruß,

          Sven

          --
               +--------------------------------------------+
               | Ferien! in Kürze bin ich weg für mehrere   |
               | Wochen weg :/                              |
               | Man sieht mich spätestens am 30. August    |
               | wieder :)                                  |
               | Und am 4.September dürfen die "Sven"'s dann|
               | ihren Namenstag feiern ;)                  |
           +---+                                            +---+
           |     Schöne Zeit wünsche ich allen hier im Forum,   |
           |                                                    |
           |  Sven - sommerferien04.20.wauwau@spamgourmet.org |
           +----------------------------------------------------+
           +----------------------------------------------------+
           |SELFcode:                                           |
           |  ie:% fl:| br:^ va:{ ls:& fo:) rl:( n4:( ss:) de:> js:| ch:° mo:} zu:}
           |ENcode:                                             |
           |  http://forum.de.selfhtml.org/cgi-bin/selfcode.pl
           |DEcode:                                             |
           |  http://peter.in-berlin.de/projekte/selfcode/
           +----------------------------------------------------+
          1. Hallo Sven.

            afaik nein. Das erste .+ frisst _alles_, da . _jedes_ zeichen macht (außer meinetwegen newline oder sowas). Eine "Abfrage", ob ein string also darauf passt, wird nix bringen.

            Doch. Ich male mal was:

            User-Eingabe:     user@part@domain.tld
            RegEx mit '.+@':  ---------|
            RegEx mit '.+?@': ----|

            Ergebnis im Fall gierig: User ist 'user@part', also ungültig. Die E-Mail wird sofort als ungültig erkannt.

            Ergebnis im Fall genügsam: User ist 'user', also gültig. Die E-Mail wird erst bei der Prüfung der Gültigkeit von Domain und TLD als ungültig erkannt. Man könnte übrigens in diesem Fall auch schreiben '.+[^@]', das soll wohl ressourcenschonender sein.

            Du widersprichst gerade KD-one, der auch auf mein posting geantwortet hat, und ich würde ihm zustimmen... was stimmt den nun!?

            Ich bin mir fast sicher, dass meine Version stimmt :)

            hm - entweder ich bin zu dumm zum suchen oder... - ich finde CK's RegEx nicht. Wie heißt denn der Feature-Artikel, in dem der steht?

            http://aktuell.de.selfhtml.org/tippstricks/programmiertechnik/email/index.html

            Freundschaft!
            Siechfred

            --
            Punk's not dead: http://www.siechfreds-welt.de/badreligion.shtml
            Dankbarkeit, man spürt sie ja so selten bei den Menschen, und gerade die Dankbarsten finden nicht den Ausdruck dafür, sie schweigen verwirrt, sie schämen sich und tun manchmal stockig, um ihr Gefühl zu verbergen. (Stefan Zweig)
            ie:) fl:) br:? va:{ ls:? fo:§ rl:( n4:} ss:? de:µ js:{ ch:° sh:( mo:? zu:}
            1. Hi Siechfred,

              Du widersprichst gerade KD-one, der auch auf mein posting geantwortet hat, und ich würde ihm zustimmen... was stimmt den nun!?

              Ich bin mir fast sicher, dass meine Version stimmt :)

              Mein Ergebnis basiert auf Vermutungen und logischen Überlegungen, das heisst aber nicht, daß die unbedingt richtig sein müssen. Zum Thema RegEx traue ich hier vielen, unter anderem auch dir, zu, wesentlich mehr zu "wissen", als ich.
              Also lass dich von meinen Überlegungen nicht verunsichern, höchstens anregen. :-)

              Gruß

              Kurt

              --
              Nein, ich beantworte keine Anfragen per e-mail.
              ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
              "Das Leben ist ein Spiel. Man macht keine groesseren Gewinne, ohne Verluste zu riskieren."  (Christine von Schweden; schw. Koenigin; 1626-1689)
              http://elektro-dunzinger.at
              http://shop.elektro-dunzinger.at
          2. Hi,

            afaik nein. Das erste .+ frisst _alles_, da . _jedes_ zeichen macht (außer meinetwegen newline oder sowas). Eine "Abfrage", ob ein string also darauf passt, wird nix bringen.

            Nein, es frißt nicht alles. Es frißt so viel wie möglich.
            Der gesamte Ausdruck muß dabei aber trotzdem noch zutreffen.
            Also frißt (.+)@ in diesem Fall alles bis zum letzten @.

            cu,
            Andreas

            --
            MudGuard? Siehe http://www.Mud-Guard.de/
            Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      2. Hi Sven,

        ^(.+)@(.+).[a-zA-Z]{2,}$

        das wird nix bringen. Bereits das erste .+ "frisst" alles folgende auf, auch wenn es ein @ ist. Siehe SelfHTML.

        ^(.+?)@(.+?).[a-zA-Z]{2,}$

        Ja, stimmt.

        wäre sinnvoller. Obwohl man eigentlich bei {2,} die Begrenzung 3 machen könnte, also {2,3}. oder gibt es TLD's, die länger als 3 Zeichen sind?

        Ja, gibt es. Derzeit bis zu 6(museum), was sich aber in zukunft noch ändern könnte. Deshalb auch keine Eingrenzung.

        Darüberhinaus könnte man die gültigen zeichen für die Domain näher angeben:

        [a-zA-Z0-9.-]

        und vor dem @:

        [a-zA-Z0-9_.-]

        resultierend:

        ([a-zA-Z0-9_.-]+?)@([a-zA-Z0-9.-]+?).[a-zA-Z]{2,3}$

        wobei hier noch nicht die Umlaut-Domains erkannt werden.

        Daran bin ich ja gehangen, wenn schon Whitelist, dann sollten alle gültigen erfasst werden und nicht nur die gängigsten.

        Außerdem: warum soll eigentlich nicht die komplette Domain ge"cacht" werden? Ohne TLD bring eine Domain herzlich wenig.

        Bringen tut's nur im Zusammenhang mit einer Plausibilitätsprüfung was.

        Gruß

        Kurt

        --
        Nein, ich beantworte keine Anfragen per e-mail.
        ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
        "Die Ehe ist der Versuch, zu zweit mit den Problemen fertig zu werden, die man alleine nie gehabt haette."  (Woody Allen; am. Schauspieler u. Regisseur; geb. 1935)
        http://elektro-dunzinger.at
        http://shop.elektro-dunzinger.at
        1. Moin KD-one,

          ^(.+)@(.+).[a-zA-Z]{2,}$
          das wird nix bringen. Bereits das erste .+ "frisst" alles folgende auf, auch wenn es ein @ ist. Siehe SelfHTML.
          ^(.+?)@(.+?).[a-zA-Z]{2,}$
          Ja, stimmt.

          hmhm - warum meint(e) Siechfried, das sei falsch?

          wäre sinnvoller. Obwohl man eigentlich bei {2,} die Begrenzung 3 machen könnte, also {2,3}. oder gibt es TLD's, die länger als 3 Zeichen sind?
          Ja, gibt es. Derzeit bis zu 6(museum), was sich aber in zukunft noch ändern könnte. Deshalb auch keine Eingrenzung.

          Es gibt die TLD "museum"? Also www.mein-museum.museum. ? was für verrückte tld's gibt es denn noch...!?

          Andererseits finde ich das gar nicht mal so schlecht, weil dann z.B. endlich mal mehr Leute nicht nur irgendwelche .de-domains besetzten würden, sondern auch andere ;)

          ([a-zA-Z0-9_.-]+?)@([a-zA-Z0-9.-]+?).[a-zA-Z]{2,3}$
          wobei hier noch nicht die Umlaut-Domains erkannt werden.
          Daran bin ich ja gehangen, wenn schon Whitelist, dann sollten alle gültigen erfasst werden und nicht nur die gängigsten.

          genau. Übrigens: Afaik ist sowas auch eine gültige E-Mail-Adresse:

          ich@195.15.125.23

          oder? Dann wäre da noch IPv6.... dann müsste man richtig mit angabe-hinter-@ unterscheiden....

          Außerdem: warum soll eigentlich nicht die komplette Domain ge"cacht" werden? Ohne TLD bring eine Domain herzlich wenig.
          Bringen tut's nur im Zusammenhang mit einer Plausibilitätsprüfung was.

          na gut, wenn er sowas gar nicht macht, dann kann er die ganzen ()-Matchingklammern weglassen.

          Gruß,

          Sven

          --
               +--------------------------------------------+
               | Ferien! in Kürze bin ich weg für mehrere   |
               | Wochen weg :/                              |
               | Man sieht mich spätestens am 30. August    |
               | wieder :)                                  |
               | Und am 4.September dürfen die "Sven"'s dann|
               | ihren Namenstag feiern ;)                  |
           +---+                                            +---+
           |     Schöne Zeit wünsche ich allen hier im Forum,   |
           |                                                    |
           |  Sven - sommerferien04.20.wauwau@spamgourmet.org |
           +----------------------------------------------------+
           +----------------------------------------------------+
           |SELFcode:                                           |
           |  ie:% fl:| br:^ va:{ ls:& fo:) rl:( n4:( ss:) de:> js:| ch:° mo:} zu:}
           |ENcode:                                             |
           |  http://forum.de.selfhtml.org/cgi-bin/selfcode.pl
           |DEcode:                                             |
           |  http://peter.in-berlin.de/projekte/selfcode/
           +----------------------------------------------------+
  3. Hallo Kurt,

    wobei dieser Teil [.^.]{2,} besondere Probleme macht.
    Hier soll darauf geprüft werden, ob mindestens 2 beliebige Zeichen, die aber kein Punkt sein dürfen, vorhanden sind.

    du musst die Zeichenklasse mit einem ^ am Anfang negieren: [^.]{2,} - damit findest du jedes Zeichen außer dem Punkt (der Punkt hat in der Zeichenklasse keine Sonderbedeutung).

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
    1. Hi Tobias,

      wobei dieser Teil [.^.]{2,} besondere Probleme macht.
      Hier soll darauf geprüft werden, ob mindestens 2 beliebige Zeichen, die aber kein Punkt sein dürfen, vorhanden sind.
      du musst die Zeichenklasse mit einem ^ am Anfang negieren: [^.]{2,} - damit findest du jedes Zeichen außer dem Punkt (der Punkt hat in der Zeichenklasse keine Sonderbedeutung).

      Also, das wusste ich nicht, daß man den Punkt in einer Klasse nicht escapen muss.
      Ich habe zum Thema Siechfred geantwortet und eine entsprechende Variante aufgebaut:
      Ich zitiere hier mal Sven Rautenberg, dessen Intention ich übernommen habe, da ich denke, er weiss, wovon er spricht:
      <zitat>
      Deshalb mein guter Rat: Eine Mailadresse, der man von überall her schreiben kann, besteht aus: Mindestens einem Zeichen, einem @, mindestens einem Zeichen, einem Punkt, und mindestens zwei Zeichen, die kein Punkt sind.
      </zitat>
      [1]@[^.].[^.0-9]{2,}$
      Ich habe das mal um Ziffern in der TLD ergänzt, denn ich denke, auch die sind nicht erlaubt.?.

      Gruß

      Kurt

      --
      Nein, ich beantworte keine Anfragen per e-mail.
      ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
      "Der Mensch kann viel ertragen, solange er sich selbst ertragen kann."  (Axel Munthe; schwed. Arzt u. Schriftsteller; 1857-1949)
      http://elektro-dunzinger.at
      http://shop.elektro-dunzinger.at

      1. ^. ↩︎

      1. Hi Tobias,

        natürlich wieder falsch: :-)
        [1]+@[^.]+.[^.0-9]{2,}$

        Gruß

        Kurt

        --
        Nein, ich beantworte keine Anfragen per e-mail.
        ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
        "Das ist das Merkmal des grossen und guten Menschen, dass er immer zuerst auf das Ganze und auf andere sieht, auf sich zuletzt."  (Adalbert Stifter; oest. Schriftsteller; 1805-1868)
        http://elektro-dunzinger.at
        http://shop.elektro-dunzinger.at

        1. ^. ↩︎

        1. Hi,

          natürlich wieder falsch: :-)

          und immer noch ;-)

          [1]+@

          Warum verbietest Du vor dem "@" Punkte?

          [^.]+.[^.0-9]{2,}$

          Wieso verbietest Du mehr als zweigliedrige Hostnamen? Den anderen verbleibenden Fehler nannte ich gerade.

          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. ^. ↩︎

          1. Hi Cheatah,

            natürlich wieder falsch: :-)

            und immer noch ;-)

            [1]+@

            Warum verbietest Du vor dem "@" Punkte?

            Ach, da sind die erlaubt? Ach ja, ich erinnere mich....

            [^.]+.[^.0-9]{2,}$

            Wieso verbietest Du mehr als zweigliedrige Hostnamen? Den anderen verbleibenden Fehler nannte ich gerade.

            Was meinst du mit "zweigliedrige Hostnamen"?
            Danach hab ich wohl zu schnell geschossen. Folglich müsst es so heissen:
            ^(.+)@(.+).[^.0-9]{2,}$
            Ähm, in Bezug auf dein obiges Posting: Sind Ziffern in TLDs erlaubt???
            Ich denke nein, sonst müsste ich diese aus der Klasse entfernen...

            Gruß

            Kurt

            --
            Nein, ich beantworte keine Anfragen per e-mail.
            ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
            "Das Glueck besteht darin, in dem zu Masslosigkeit neigenden Leben das rechte Mass zu finden."  (Leonardo da Vinci; it. Universalgenie; 1452-1519)
            http://elektro-dunzinger.at
            http://shop.elektro-dunzinger.at

            1. ^. ↩︎

            1. Hi,

              Warum verbietest Du vor dem "@" Punkte?
              Ach, da sind die erlaubt? Ach ja, ich erinnere mich....

              nicht uneingeschränkt, aber deutlich "erlaubter" als z.B. ein "ä" oder ein Leerzeichen.

              [^.]+.[^.0-9]{2,}$
              Wieso verbietest Du mehr als zweigliedrige Hostnamen? Den anderen verbleibenden Fehler nannte ich gerade.
              Was meinst du mit "zweigliedrige Hostnamen"?

              "selfhtml.org" im Gegensatz zu z.B. "forum.de.selfhtml.org".

              Danach hab ich wohl zu schnell geschossen. Folglich müsst es so heissen:
              ^(.+)@(.+).[^.0-9]{2,}$

              Da fehlt noch ein Backslash :-)

              Ähm, in Bezug auf dein obiges Posting: Sind Ziffern in TLDs erlaubt???

              In TLDs, wie man sie z.B. in "213.198.84.177" hat? Irgendwie schon, ja :-)

              Ich denke nein, sonst müsste ich diese aus der Klasse entfernen...

              Deine Regular Expression hat das Ziel, keine gültige Adresse abzulehnen; denn verdammt viele ungültige gehen durch. Dieses Ziel solltest Du also auch erreichen. Niemand garantiert Dir, dass morgen nicht Pepsi-Cola eine "7up"-TLD durchsetzt.

              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. Hi Cheatah,

                [^.]+.[^.0-9]{2,}$
                Wieso verbietest Du mehr als zweigliedrige Hostnamen? Den anderen verbleibenden Fehler nannte ich gerade.
                Was meinst du mit "zweigliedrige Hostnamen"?

                "selfhtml.org" im Gegensatz zu z.B. "forum.de.selfhtml.org".

                Danach hab ich wohl zu schnell geschossen. Folglich müsst es so heissen:
                ^(.+)@(.+).[^.0-9]{2,}$

                Da fehlt noch ein Backslash :-)

                Klar, ein Flüchtigkeitsfehler. allerdings verstehe ich deine obige Äusserung immer noch nicht.
                Wirkt sich die Negierung demnach auch auf die Quantifier aus??
                Müsste dieser dann {,2} lauten oder so??? *total verwirrt*

                Ähm, in Bezug auf dein obiges Posting: Sind Ziffern in TLDs erlaubt???

                In TLDs, wie man sie z.B. in "213.198.84.177" hat? Irgendwie schon, ja :-)

                Pfhht, an die hab ich nun gar nicht gedacht, also vorwärts, wir gehen rückwärts...
                Aber gibt es dazu auch e-mailadressen????

                Deine Regular Expression hat das Ziel, keine gültige Adresse abzulehnen; denn verdammt viele ungültige gehen durch. Dieses Ziel solltest Du also auch erreichen. Niemand garantiert Dir, dass morgen nicht Pepsi-Cola eine "7up"-TLD durchsetzt.

                Oh, eine interessante Überlegung. Das eröffnete ja ungeahnte Möglichkeiten...

                Also nochmal:

                ^(.+)@(.+).[^.]{2,}$

                Gruß

                Kurt

                --
                Nein, ich beantworte keine Anfragen per e-mail.
                ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
                "Die Sentimentalitaet ist das Alibi der Hartherzigen."  (Arthur Schnitzler; oest. Schriftsteller; 1862-1931)
                http://elektro-dunzinger.at
                http://shop.elektro-dunzinger.at
                1. Hi,

                  allerdings verstehe ich deine obige Äusserung immer noch nicht.

                  meinst Du die mit den Hostnamen?

                  Wirkt sich die Negierung demnach auch auf die Quantifier aus??

                  Nein, sie ist auf die Zeichenklasse beschränkt.

                  [IP-Adressen]

                  Aber gibt es dazu auch e-mailadressen????

                  Ich kenne keine. AFAIK heißt das aber nichts.

                  Also nochmal:
                  ^(.+)@(.+).[^.]{2,}$

                  Mir fällt keine gültige eMail-Adresse ein, die hiervon abgelehnt wird. Wohl aber viele ungültige, die durchgehen; weshalb ich Dir empfehle, "^(.+)" einfach durch "." zu ersetzen.

                  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. Hi Cheatah,

                    allerdings verstehe ich deine obige Äusserung immer noch nicht.

                    meinst Du die mit den Hostnamen?

                    Ja.

                    Also nochmal:
                    ^(.+)@(.+).[^.]{2,}$

                    Mir fällt keine gültige eMail-Adresse ein, die hiervon abgelehnt wird. Wohl aber viele ungültige, die durchgehen; weshalb ich Dir empfehle, "^(.+)" einfach durch "." zu ersetzen.

                    Was hätte das für Wirkung? Wenn ich den Punkt nun richtig interpretiere, hätte er keine andere Auswirkung, oder?
                    ?Ein? beliebiges Zeichen, gefolgt von....
                    wobei hier der Quantifier (+) fehlt, oder? Ein oder mehrere Zeichen...

                    Gruß

                    Kurt

                    --
                    Nein, ich beantworte keine Anfragen per e-mail.
                    ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
                    "Der Beruf ist eine Schutzwehr, hinter welche man sich erlaubterweise zurueckziehen kann, wenn Bedenken und Sorgen allgemeiner Art einen anfallen."  (Friedrich Willhelm Nietzsche; dt. Philosoph; 1844-1900)
                    http://elektro-dunzinger.at
                    http://shop.elektro-dunzinger.at
                    1. Hi,

                      meinst Du die mit den Hostnamen?
                      Ja.

                      durch das ".+" hast Du alle Hostnamen abgedeckt, von daher ist das Problem gelöst.

                      [...] weshalb ich Dir empfehle, "^(.+)" einfach durch "." zu ersetzen.
                      Was hätte das für Wirkung?

                      Dass die Prüfung einfacher und somit effizienter ist.

                      Wenn ich den Punkt nun richtig interpretiere, hätte er keine andere Auswirkung, oder?

                      Eben :-)

                      ?Ein? beliebiges Zeichen, gefolgt von....

                      Ja, aber ein beliebiges Zeichen, welches nicht zwingend am Anfang stehen muss. Was bringt es Dir zu prüfen, dass die beliebigen Zeichen am Anfang des Strings beginnen?

                      wobei hier der Quantifier (+) fehlt, oder?

                      Ja, ganz bewusst :-)

                      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
      2. Hi,

        Also, das wusste ich nicht, daß man den Punkt in einer Klasse nicht escapen muss.

        man muss immer nur jene Zeichen escapen, die eine Sonderbedeutung haben.

        [1]@[^.].[^.0-9]{2,}$
        Ich habe das mal um Ziffern in der TLD ergänzt, denn ich denke, auch die sind nicht erlaubt.?.

        Jetzt hast Du sie aber verboten ...

        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. ^. ↩︎

      3. Hallo Kurt,

        du musst die Zeichenklasse mit einem ^ am Anfang negieren: [^.]{2,} - damit findest du jedes Zeichen außer dem Punkt (der Punkt hat in der Zeichenklasse keine Sonderbedeutung).
        Also, das wusste ich nicht, daß man den Punkt in einer Klasse nicht escapen muss.

        ich war mir auch nicht sicher, aber laut http://de3.php.net/manual/de/pcre.pattern.syntax.php#regexp.reference.meta haben nur
        , -, ] und ^ eine Sonderbedeutung (und letzterer auch nur am anfang einer Zeichenklasse).

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|