Reguläre Ausdrücke Sammlung

  • Hi,
    ich hab eine Idee was haltet ihr von der Idee das wir immer wenn uns mal ein guter Regülarer Ausdruck in die Finger kommt das wir ihn hier sammeln?


    Ok ich fang dan mal an :rofl:


    HTML-Hexcode


    MAC-Adresse


    HTTP-Url


    IP-Adresse

    Einmal editiert, zuletzt von Tom99 ()

  • finde ich eine Super Idee, denn ich beschäftige mich auch gerade damit. Aber ich kapier das einfach nicht ;(

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

  • URL (http, https, ftp):


    IPV6:


    IPV6 HexCompressed:


    IPV6 6Hex4Dec:


    IPV6 Hex4DecCompressed:


    Deutsche PLZ:


    eMail (einfach):


    eMail RFC 3696:


    String in Anführungszeichen:


    (Werbung: ist alles in der XInsert Bibliothek "RegEx" in jEdit4AutoIt auch drin :D

  • wie wäre es mit jeweils ein AnwenderBeispiel ?

    ...... Lieben Gruß, ........
    ...........
    Alina ............

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Ich habe die Deutsche Hilfe auf meinem PC und
    OrganizeIncludes ist beim Scripten mein bester
    Freund. Okay?

  • Spalten aus CSV-Datei auslesen




    Primzahlen per RegEx

  • Korrigierte Fassung der IP-Adresse (die oben erkennt auch falsche IP-Adressen...):


    Der String oben erkennt auch "100.0.123.023" als gültige Adresse. Dies ist allerdings keine gültige IP-Adresse. Außerdem hat man die Lösung per Google eh nicht gefunden, wollte sie gerade beitragen :D




    Und für die, die die einzelnen Blocks wollen:



    Oder beides:


    Es gibt Tage, da trete ich nicht ins Fettnäpfchen. Ich falle in die Friteuse.

  • @Einexage
    Dein Pattern hat noch nen kleinen Fehler drin und zwar an der Stelle [|1-9].
    Führt dazu dass z.B. auch 123.|1.3.2 gematcht wird.


    Etwas zusammengefasst könnte man es auch z.B. auch so schreiben:

    Perl
    \b(?>(?>25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?(?=\.?\d)\.)){4}\b
  • @Einexage
    Dein Pattern hat noch nen kleinen Fehler drin und zwar an der Stelle [|1-9].
    Führt dazu dass z.B. auch 123.|1.3.2 gematcht wird.


    Etwas zusammengefasst könnte man es auch z.B. auch so schreiben:

    Perl
    \b(?>(?>25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?(?=\.?\d)\.)){4}\b

    Danke, Aspirin, der Fehler war mir gar nicht aufgefallen, da ich es nur eben schnell nebenher gebastelt habe... :)

    Es gibt Tage, da trete ich nicht ins Fettnäpfchen. Ich falle in die Friteuse.

  • Hab gerade den Thread gesehen.
    Hier ein kurzer vollständiger IP Pattern ;)

    AutoIt
    Local $s_pattern_ip_filter = "(((25[0-5]|2[0-4]\d|[01]?\d?\d)(\.|\b)){4})"
  • Hab gerade den Thread gesehen.
    Hier ein kurzer vollständiger IP Pattern

    AutoIt
    Local $s_pattern_ip_filter = "(((25[0-5]|2[0-4]\d|[01]?\d?\d)(\.|\b)){4})"

    Leider ist der Pattern aber ziemlich nutzlos, da er auch ungültige IP-Adressen zulässt im Gegensatz zu dem oben - außer dem gekürzten oben und dem im Eigangsposting. Das Kürzen bei IP-Adressen führt bloß dazu das der RegEx wertlos wird. Dann kann man auch gleich (\d+\.\d+\.\d+\.\d+) verwenden. Etwa genauso sinnvoll, da es genauso wenig absichert, dass die Eingabe auch wirklich eine gültige IP ist.


    0.0.0.0 ist keine gültige IP. Ebenso 255.255.255.255.

    Es gibt Tage, da trete ich nicht ins Fettnäpfchen. Ich falle in die Friteuse.

  • Nebenbei: Telefonnummerpatten


    Und wie schrieb BugFix? Dieser Thread ist völlig zu Unrecht in der Versenkung verschwunden. Ich werde ihn mal wieder nach oben befördern. ;)




    finde ich eine Super Idee, denn ich beschäftige mich auch gerade damit. Aber ich kapier das einfach nicht ;(

    Willkommen im Club ! ;)

    ...... Lieben Gruß, ........
    ...........
    Alina ............

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Ich habe die Deutsche Hilfe auf meinem PC und
    OrganizeIncludes ist beim Scripten mein bester
    Freund. Okay?

    Einmal editiert, zuletzt von Alina ()

  • Telefonnummern:


  • JA für regex sollten wir uns wirklich mal was einfallen lassen - die sind einerseits super praktisch - können einen aber auch in den Wahnsinn treiben :). Irgendwie sollten wir unser Wissen hier besser bündeln...


    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • Wofür die '/' am Anfang und Ende sind, kann ich dir nicht sagen.


    Als Alternative kannst du dieses Pattern verwenden:

    AutoIt
    Global $sRxPattern = "^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$"
    Global $sURL = 'https://autoit.de/index.php?thread/7892-regul%C3%A4re-ausdr%C3%BCcke-sammlung/&postID=691034#post691034'
    
    ConsoleWrite(StringRegExp($sURL, $sRxPattern) & @CRLF)

    oder du machst es so...

    AutoIt
    Global $sURL = 'https://autoit.de/index.php?thread/7892-regul%C3%A4re-ausdr%C3%BCcke-sammlung/&postID=691034#post691034'
    
    InetGetSize($sURL)
    If @error Then
        ConsoleWrite("Invalid URL" & @CRLF)
    Else
        ConsoleWrite("Valid URL" & @CRLF)
    EndIf
  • Und wenn du offline bist?

    oder so... 8o