Si vous recherchez une regex plus restrictive pour une URL, vous pouvez aussi utiliser celle-ci qui est assez répandue et qui permet l'insertion d'un numéro de port dans la requête.
http://([^/:]+(\d+))?)(/.*)?
Cela permet par exemple http://www.domain.co.uk:8181/pathto/file?p=42, sans pour autant laisser filtrer certains URLs incorrectes.