Ich habe mich selbst versucht und online gesucht, diesen regulären Ausdruck zu schreiben, aber ohne Erfolg.Spezifische Domain-URL-Validierung mit regulärem Ausdruck
Ich muss validieren, dass eine bestimmte URL aus einer bestimmten Domäne und einem wohlgeformten Link (in PHP) stammt. Zum Beispiel:
Gute Domain: example.com
So gut URLs von example.com:
- http://example.com/so/this/is/good
- http://example.com/so/this/is/good/index.html
- http://www.examle.com/so/this/is/good/mice.html#anchortag
- http://anysubdomain.example.com/so/this/is/good/wow.php
- http://anysubdomain.example.com/so/this/is/good/wow.php?search=doozy
So schlecht URLs nicht von example.com:
Einige Hinweise: ich kümmern sich nicht um "http" verus "https", aber wenn es Ihnen wichtig ist, nehmen Sie "http" immer an Der Code, der diese Regex verwendet, ist PHP, also Extrapunkte für Das.
UPDATE 2010:
Gruber fügt eine große URL Regex:
?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))
Siehe seinen Beitrag: An Improved Liberal, Accurate Regex Pattern for Matching URLs
Ihr "Good Domain" -Beispiel ist ** nicht ** eine gültige URL (fehlender Pfad). –
@Nikolar Ruhe: Der Pfad ist optional: "http: //" Hostport ["/" hpath ["?" Suche]] (siehe RFC 1738) – Gumbo
Dies ist keine gültige URL, sondern gibt die gültige Domain an, die von den Beispiel-URLs verwendet wird, aber vielleicht sollte ich einfach 'blah.com' sagen und nicht mehr. So oder so, ich denke, der Punkt ist gemacht. – donohoe