http://foo.com/blah_blah_(wikipedia)
http://foo.com/blah_blah_(wikipedia)_(again)
http://www.example.com/wpstyle/?p=364
https://www.example.com/foo/?bar=baz&inga=42&quux
http://foo.com/blah_(wikipedia)#cite-1
http://foo.com/blah_(wikipedia)_blah#cite-1
http://foo.com/(something)?after=parens
http://code.google.com/events/#&product=browser
http://foo.bar/?q=Test%20URL-encoded%20stuff
http://
http://.
http://..
http://../
http://?
http://??
http://??/
http://#
http://##
http://##/
http://foo.bar?q=Spaces should be encoded
//
//a
///a
///
http:///a
foo.com
rdar://1234
h://test
http:// shouldfail.com
:// should fail
http://foo.bar/foo(bar)baz quux
http://-error-.invalid/
http://-a.b.co
http://3628126748
1234567890123456789012345678901234567890123456789012345678901234@test.org
first.last@x23456789012345678901234567890123456789012345678901234567890123.test.org
shaitan@my-domain.thisisminekthx
first.last
first.last.@test.org
first..last@test.org
first.last@
abc@def@test.org
@test.org
doug@
dot.@test.org
two..dot@test.org
hello world@test.org
test.test.org
test@@test.org
[test]@test.org
()[]\;:,><@test.org
test@.
test@example.
test@.org
NotAnEmail
.@
@bar.com
@@bar.com
aaa.com
aaa@.com
aaa@.123
-@..com
-@a..com
invalid@about.museum-
test@...........com