Forse deriva dal fatto che hai usato un quantificatore lazy: *? cattura 0 o più occorrenze, cercando però di prenderne il minor numero possibile. Secondo me ne prenderà 0 (poiché questo è il minor numero di occorrenze lecito per l'espressione). Dovresti togliere il ? e magari sostituire * con +, dato che un url che inizia con "http://" ma che poi non ha nessuna stringa che lo segue è un url vuoto.
|