Perche' e' giusto cosi' in base alla regexp che hai messo.
Controlla la documentazione qui
e poi tu fai
^(http://|http://www.)
quindi deve controllare che la stringa inizi per :
http://
oppure
http://www.
il che e' corretto
tale sottostringa inoltre per dare esito positivo deve essere concatenata a
[a-zA-Z0-9._-]
Ossia una qualsiasi stringa alfanumerica maiuscole-minuscole senza caratteri speciali.
La stringa che passi \s credo venga visto come singolo carattere s
io farei cosi
[a-z,A-Z,0-9,.,_,-]
Cmq nn sono prorpio un guru di regexp prova.