URL: https://www.overclockers.at/coding-stuff/kleine_regex_frage_fuer_java_212124/page_1 - zur Vollversion wechseln!
Hallo,
Zum wiederholten Male scheitere ich an einer Regex Abfrage .. Das ganze dann zusätzlich auch noch in Java ..
Ich will dass da Abfrage einfache URLs zulässt ..
Beispiele, die zugelassen werden sollen:
at
blub.at
bla.blub.at usw. ..
Eine zweite Abfrage sollte dann die oben genannten URL mit zusätzlichen Pfaden akzeptieren ..
Beispiele, die zugalssen werden sollten:
at/file.ext
blub.at/file
bla.blub.at/lala.lulu
Mein kläglicher Versuch der ersten Abfrage sieht folgendermaßen aus:
Code: PHP[a-z]+[\\.a-z]*
erstmal ".." ist in domains afaik nicht zulässig, im pfad aber schon, deine regex würde etwa
"a..................." ohne weiteres akzeptieren, ist nur halt keine echte domain.
Wenn ich mich jetzt nicht irre kann man URLs mit Regex nicht vollständig darstellen (und eben damit auch prüfen), dazu braucht man eine vollständige grammatik
Mal schaun was ich hinbekomm...
(ungetestetCode:[a-Z][\.\w]*\.[\w]{2,}(/[/\.%\?#\w]*)?
)
Zitat von watchouterstmal ".." ist in domains afaik nicht zulässig
(zumindest "a....at")Erstens sind das alles keine URLs (solche beginnen z.B. mit "http:" oder "ftp:" oder "mailto:").
Zweitens können Domainnamen durchaus mit Ziffern beginnen und nicht-Buchstaben enthalten (z.B. "7-zip.org").
Drittens ist z.B. "ftp://user
assword@example.com/%2Fetc/hosts" eine verbreitete Form von URLs.
Also was genau willst du checken? Wenns wirklich URLs sind, dann reicht ein Regex sicher nicht.
Ich weiss, aber wie gesagt lässt sich eine URL nicht vollständig durch regex darstellen, vielleicht hab ich mich falsch ausgedrückt.Zitat von Luzandrogeht aber bei dir auch(zumindest "a....at")
Im Pfad würde ich zumindest noch +-=&; dazunehmen, gültig ist wohl noch viel mehr
Innerhalb der [] solltest du Punkt/Fragezeichen auch nicht escapen müssen
)
Tsts, lass mich doch ausschreibenZitat von thatErstens sind das alles keine URLs (solche beginnen z.B. mit "http:" oder "ftp:" oder "mailto:").
Zweitens können Domainnamen durchaus mit Ziffern beginnen und nicht-Buchstaben enthalten (z.B. "7-zip.org").
Drittens ist z.B. "ftp://userassword@example.com/%2Fetc/hosts" eine verbreitete Form von URLs.
Also was genau willst du checken? Wenns wirklich URLs sind, dann reicht ein Regex sicher nicht.


immer ein guter tipp --> http://regexlib.com/
DSLab Beispiel 2? 
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026