%
% Regular links
%
My http://example.com site
http://example.com

My http://example.com/ site
http://example.com/

http://example.com/foo_bar/

http://user:pass@example.com:8080

http://user@example.com

http://user@example.com:8080

http://user:pass@example.com

[https](https://www.ibm.com)[mailto](mailto:someone@ibm.com) % should not catch as auth (before @ in big link)
https://www.ibm.com

http://example.com:8080

http://example.com/?foo=bar

http://example.com?foo=bar

http://example.com/#foo=bar

http://example.com#foo=bar

http://a.in

HTTP://GOOGLE.COM

http://example.invalid % don't restrict root domain when schema exists
http://example.invalid

http://inrgess2 % Allow local domains to end with digit
http://inrgess2

http://999      % ..and start with digit, and have digits only
http://999

http://host-name % local domain with dash
http://host-name

>>example.com % markdown blockquote
example.com

>>http://example.com % markdown blockquote
http://example.com

http://lyricstranslate.com/en/someone-you-നിന്നെ-പോലൊരാള്‍.html % With control character
http://lyricstranslate.com/en/someone-you-നിന്നെ-പോലൊരാള്‍.html

%
% localhost (only with protocol allowed)
%
//localhost

//test.123

http://localhost:8000?
http://localhost:8000


%
% Other protocols
%
My ssl https://example.com site
https://example.com

My ftp://example.com site
ftp://example.com


%
% Neutral proto
%
My ssl //example.com site
//example.com

%
% IPs
%
4.4.4.4

192.168.1.1/abc


%
% Fuzzy
%
test.example@http://vk.com
http://vk.com

text:http://example.com/
http://example.com/

google.com

google.com: // no port
google.com

s.l.o.w.io

a-b.com

GOOGLE.COM.
GOOGLE.COM

google.xxx // known tld
google.xxx


%
% Correct termination for . , ! ? [] {} () "" ''
%
(Scoped http://example.com/foo_bar)
http://example.com/foo_bar

http://example.com/foo_bar_(wiki)

http://foo.com/blah_blah_[other]

http://foo.com/blah_blah_{I'm_king}

http://foo.com/blah_blah_I'm_king

http://www.kmart.com/bestway-10'-x-30inch-steel-pro-frame-pool/p-004W007538417001P

http://foo.com/blah_blah_"doublequoted"

http://foo.com/blah_blah_'singlequoted'

(Scoped like http://example.com/foo_bar)
http://example.com/foo_bar

[Scoped like http://example.com/foo_bar]
http://example.com/foo_bar

{Scoped like http://example.com/foo_bar}
http://example.com/foo_bar

"Quoted like http://example.com/foo_bar"
http://example.com/foo_bar

'Quoted like http://example.com/foo_bar'
http://example.com/foo_bar

[example.com/foo_bar.jpg)]
example.com/foo_bar.jpg

http://example.com/foo_bar.jpg.
http://example.com/foo_bar.jpg

http://example.com/foo_bar/.
http://example.com/foo_bar/

http://example.com/foo_bar,
http://example.com/foo_bar

http://index-of.es/Android/Professional.Android.2.Application.Development.(Wrox,.2010,.0470565527).pdf

https://github.com/markdown-it/linkify-it/compare/360b13a733f521a8d4903d3a5e1e46c357e9d3ce...f580766349525150a80a32987bb47c2d592efc33

https://www.google.com/search?sxsrf=ACYBGNTJFmX-GjNJ8fM-2LCkqyNyxGU1Ng%3A1575534146332&ei=Qr7oXf7rE4rRrgSEgrmoAw&q=clover&oq=clover&gs_l=psy-ab.3..0i67j0l9.2986.3947..4187...0.2..0.281.1366.1j0j5......0....1..gws-wiz.......0i71j35i39j0i131.qWp1nz4IJVA&ved=0ahUKEwj-lP6Iip7mAhWKqIsKHQRBDjUQ4dUDCAs&uact=5

https://ourworldindata.org/grapher/covid-deaths-days-since-per-million?zoomToSelection=true&time=9..&country=FRA+DEU+ITA+ESP+GBR+USA+CAN

http://example.com/foo_bar...
http://example.com/foo_bar

http://172.26.142.48/viewerjs/#../0529/slides.pdf

http://example.com/foo_bar..
http://example.com/foo_bar

http://example.com/foo_bar?p=10.
http://example.com/foo_bar?p=10

https://www.google.ru/maps/@59.9393895,30.3165389,15z?hl=ru

https://www.google.com/maps/place/New+York,+NY,+USA/@40.702271,-73.9968471,11z/data=!4m2!3m1!1s0x89c24fa5d33f083b:0xc80b8f06e177fe62?hl=en

https://www.google.com/analytics/web/?hl=ru&pli=1#report/visitors-overview/a26895874w20458057p96934174/

http://business.timesonline.co.uk/article/0,,9065-2473189,00.html

https://google.com/mail/u/0/#label/!!!Today/15c9b8193da01e65

http://example.com/123!
http://example.com/123

http://example.com/123!!!
http://example.com/123

http://example.com/foo--bar

See http://example.com/123; Example link.
http://example.com/123

http://example.com/123;123

% some sites have links with trailing dashes
http://www.bloomberg.com/news/articles/2015-06-26/from-deutsche-bank-to-siemens-what-s-troubling-germany-inc-

http://example.com/foo-with-trailing-dash-dot-.
http://example.com/foo-with-trailing-dash-dot-

<http://domain.com>
http://domain.com

<http://domain.com>.
http://domain.com

<http://domain.com/foo>
http://domain.com/foo

<http://domain.com/foo>.
http://domain.com/foo

<domain.com>
domain.com

<domain.com>.
domain.com

<domain.com/foo>
domain.com/foo

<user@domain.com>
user@domain.com

<user@domain.com>.
user@domain.com

<mailto:user@domain.com>
mailto:user@domain.com


%
% Emails
%

test."foo".bar@gmail.co.uk!
test."foo".bar@gmail.co.uk

"test@example.com"
test@example.com

name@example.com

>>name@example.com % markdown blockquote
name@example.com

mailto:name@example.com

MAILTO:NAME@EXAMPLE.COM

mailto:foo_bar@example.com

foo+bar@gmail.com

192.168.1.1@gmail.com

mailto:foo@bar      % explicit protocol make it valid
mailto:foo@bar

(foobar email@example.com)
email@example.com

(email@example.com foobar)
email@example.com

(email@example.com)
email@example.com


%
% International
%
http://✪df.ws/123

http://xn--df-oiy.ws/123

a.ws

➡.ws/䨹

example.com/䨹

президент.рф


% Links below provided by diaspora* guys, to make sure regressions will not happen.
% Those left here for historic reasons.

http://www.bürgerentscheid-krankenhäuser.de

http://www.xn--brgerentscheid-krankenhuser-xkc78d.de

http://bündnis-für-krankenhäuser.de/wp-content/uploads/2011/11/cropped-logohp.jpg

http://xn--bndnis-fr-krankenhuser-i5b27cha.de/wp-content/uploads/2011/11/cropped-logohp.jpg

http://ﻡﻮﻘﻋ.ﻭﺯﺍﺭﺓ-ﺍﻼﺘﺻﺍﻼﺗ.ﻢﺻﺭ/

http://xn--4gbrim.xn----ymcbaaajlc6dj7bxne2c.xn--wgbh1c/

%
% Others...
%
｜www.google.com/www.google.com/foo｜bar    % #46, asian vertical pipes
www.google.com/www.google.com/foo

｜test@google.com｜bar
test@google.com

｜http://google.com｜bar
http://google.com

%
% Domains with multiple dashes
%

https://5b0ee223b312746c1659db3f--thelounge-chat.netlify.com/docs/

www.a--b.com

www.c--u.com

http://a---b.com/
