Ankündigung

Einklappen
Keine Ankündigung bisher.

Regex darstellen - Für Forennutzer & privat

Einklappen

Neue Werbung 2019

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

  • Regex darstellen - Für Forennutzer & privat

    Guten Abend, habe eine Seite gefunde, die ich für nützlich halte und mit euch teilen möchte:

    http://www.regexper.com

    Sie visualisiert reguläre Ausdrücke, sicher sinnvoll für Leute die Fragen zu Regular-Expressions hier im Board haben (Spart Tipparbeit & ist schnell und übersichtlich), als auch für den privaten Bereich.

    Auch nützlich für Fragen wie:
    "Warum geht die Regexp nicht?" etc.

    Hier eine Beispiel Regular Expression, zur Überprüfung von validen Domainnamen, einfach via Copy&Paste hineinkopieren (Achtung, es darf kein Leerzeichen am Ende sein):
    ^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aer o|asia|jobs|museum)$


  • #2
    Sehr schön.
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      Wozu soll dein genanntes Regex gut sein? Für E-Mailadressen? Du weißt aber schon, dass es auch E-Mailadressen an beispielsweise IP-Adressen gibt (unter anderem)?

      Ansonsten ist die Seite wirklich sehr gut, damit werden Regex klarer ^^
      Crashkurs zum Thema Rechtschreibung: normalerweise (normaler weise oder normaler weiße), Standard (Standart), eben (ebend)

      Kommentar


      • #4
        Hier eine Beispiel Regular Expression, zur Überprüfung von validen Domainnamen
        Wer lesen kann ist klar im Vorteil.
        --

        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


        --

        Kommentar


        • #5
          Ich kann lesen und kann dir sagen, dass das keine valide Domain testet.
          Crashkurs zum Thema Rechtschreibung: normalerweise (normaler weise oder normaler weiße), Standard (Standart), eben (ebend)

          Kommentar


          • #6
            Das ist ja ne andere Frage.
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar


            • #7
              War eine ergoogelte Beispiel-Regexp.
              Wollte ein Beispiel, was auf den ersten Blick lang und für unerfahrene kompliziert ausschaut.

              Kommentar


              • #8
                Kompliziert?
                Also dafür braucht man doch nun wirklich nicht viel Verständnis von Regex.

                DAS
                Code:
                /^\s*(?:(?:(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|"(?:[^"\\\\\r]|\\\\.)*"\s*)(?:\.\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|"(?:[^"\\\\\r]|\\\\.)*"\s*))*@\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*)(?:\.\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*))*|(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|"(?:[^"\\\\\r]|\\\\.)*"\s*)+<\s*(?:@(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*)(?:\.\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*))*(?:,@\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*)(?:\.\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*))*)*:\s*)?(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|"(?:[^"\\\\\r]|\\\\.)*"\s*)(?:\.\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|"(?:[^"\\\\\r]|\\\\.)*"\s*))*@\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*)(?:\.\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*))*>\s*)|(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|"(?:[^"\\\\\r]|\\\\.)*"\s*)+:\s*(?:(?:(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|"(?:[^"\\\\\r]|\\\\.)*"\s*)(?:\.\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|"(?:[^"\\\\\r]|\\\\.)*"\s*))*@\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*)(?:\.\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*))*|(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|"(?:[^"\\\\\r]|\\\\.)*"\s*)+<\s*(?:@(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*)(?:\.\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*))*(?:,@\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*)(?:\.\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*))*)*:\s*)?(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|"(?:[^"\\\\\r]|\\\\.)*"\s*)(?:\.\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|"(?:[^"\\\\\r]|\\\\.)*"\s*))*@\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*)(?:\.\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*))*>\s*)(?:,\s*(?:(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|"(?:[^"\\\\\r]|\\\\.)*"\s*)(?:\.\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|"(?:[^"\\\\\r]|\\\\.)*"\s*))*@\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*)(?:\.\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*))*|(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|"(?:[^"\\\\\r]|\\\\.)*"\s*)+<\s*(?:@(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*)(?:\.\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*))*(?:,@\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*)(?:\.\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*))*)*:\s*)?(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|"(?:[^"\\\\\r]|\\\\.)*"\s*)(?:\.\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|"(?:[^"\\\\\r]|\\\\.)*"\s*))*@\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*)(?:\.\s*(?:[^][()<>@,;:\\".\s\000-\037\177-\377]+\s*|\[(?:[^][\\\\\r]|\\\\.)*\]\s*))*>\s*))*)?;\s*)$/
                ist kompliziert.
                actra.development - Zend Certified Engineer for PHP5 - actra-oss @ github

                Kommentar


                • #9
                  Puh, das Syntaxdiagramm passt selbst bei meinem 27-Zoller und kleinster Zoom-Stufe im Browser nicht auf einen Bildschirm. Wer soll so einen Regexp denn debuggen?
                  Refining Linux: “Performing Push Backups – Part 1: rdiff-backup

                  Kommentar


                  • #10
                    Tatsache, das sieht echt lustig aus
                    Hatte ich gar nicht dort getestet, bevor ich es gepostet habe.
                    Aber ich kann dich beruhigen, im Original ist das schon in einzelne Teile gesplittet - Pear_Validate zur eMail-Prüfung, falls du dir das leserlich ansehen willst.
                    actra.development - Zend Certified Engineer for PHP5 - actra-oss @ github

                    Kommentar


                    • #11
                      Zitat von G.Schuster Beitrag anzeigen
                      Tatsache, das sieht echt lustig aus
                      Hatte ich gar nicht dort getestet, bevor ich es gepostet habe.
                      Aber ich kann dich beruhigen, im Original ist das schon in einzelne Teile gesplittet - Pear_Validate zur eMail-Prüfung, falls du dir das leserlich ansehen willst.
                      FILTER_VALIDATE_EMAIL, mehr brauchts net.

                      Und sowieso, die ganzen Mail Validierungen sind schrott… xxx@xxx.de und fertig ist die Fake-Mail...

                      Hat hier eigentlich jemand das rfc der emails akribisch durchgenommen für dieses Regex?^^

                      Kommentar


                      • #12
                        Zitat von bwoebi Beitrag anzeigen
                        FILTER_VALIDATE_EMAIL, mehr brauchts net.
                        Das ist deine Meinung.

                        Zitat von bwoebi Beitrag anzeigen
                        Hat hier eigentlich jemand das rfc der emails akribisch durchgenommen für dieses Regex?^^
                        Schau dir die Klasse/Methode an und lies dir die Kommentare durch, dann weißt du es.
                        actra.development - Zend Certified Engineer for PHP5 - actra-oss @ github

                        Kommentar


                        • #13
                          Und deine Meinung ist was genau?

                          FILTER_VALIDATE_MAIL tut genau das, was gebraucht wird, damit SMTP-Server auf falsch formatierte E-Mailadressen nicht anormal reagieren.

                          Im Übrigen matcht FILTER_VALIDATE_MAIL genau nach Mail RFC (abgesehen von Double-Quotes, die auch Pear nicht respektiert). Pear ist veraltet und dass es immer noch Leute gibt, die das als Referenz benutzen, ist eigentlich kein gutes Zeichen.
                          Crashkurs zum Thema Rechtschreibung: normalerweise (normaler weise oder normaler weiße), Standard (Standart), eben (ebend)

                          Kommentar


                          • #14
                            https://github.com/pear/Validate/blo...idate.php#L582

                            Okay, ja, effektiv, das ist das einzige was man noch tun könnte. Aber was bringt eine Prüfung auf tld-match, wenn man eh einen dns req macht? Die Mailadresse an sich wird doch eh schon per filter_var abgeprüft…

                            Nimmt man eben eine xxx@php.de und dann gehts auch

                            Btw. ist das eine Email-Validierung, keine Email-Adresse-Validierung… was ich anfangs dachte.

                            Kommentar


                            • #15
                              Hi,

                              möchte an der Stelle mal meinen favorisierten Online-RegEx-Evaluator hier einwerfen: https://regex101.com
                              Wollte jetzt keinen neuen Thread aufmachen, hoff' das passt.

                              Kommentar

                              Lädt...
                              X