import re
p = re.compile(r"""^ # At the start of the string, ...
(?! # check if next characters are not...
www\. # URLs starting with www.
|
(?:http|ftp)s?:// # URLs starting with http, https, ftp, ftps
|
[A-Za-z]:\\ # Local full paths starting with [drive_letter]:\
|
// # UNC locations starting with //
) # End of look-ahead check
.* # Martch up to the end of string""", re.X)
print(p.search("./about.html"));
print(p.search("//dub-server1/mynode"));
aW1wb3J0IHJlCnAgPSByZS5jb21waWxlKHIiIiJeICAgICAgICAgICAgICAgICAgICAjIEF0IHRoZSBzdGFydCBvZiB0aGUgc3RyaW5nLCAuLi4KICAgICAgICAgICAgICAgICAgICg/ISAgICAgICAgICAgICAgICAgICMgY2hlY2sgaWYgbmV4dCBjaGFyYWN0ZXJzIGFyZSBub3QuLi4KICAgICAgICAgICAgICAgICAgICAgIHd3d1wuICAgICAgICAgICAgICMgVVJMcyBzdGFydGluZyB3aXRoIHd3dy4KICAgICAgICAgICAgICAgICAgICAgfAogICAgICAgICAgICAgICAgICAgICAgKD86aHR0cHxmdHApcz86Ly8gIyBVUkxzIHN0YXJ0aW5nIHdpdGggaHR0cCwgaHR0cHMsIGZ0cCwgZnRwcwogICAgICAgICAgICAgICAgICAgICB8CiAgICAgICAgICAgICAgICAgICAgICBbQS1aYS16XTpcXCAgICAgICAjIExvY2FsIGZ1bGwgcGF0aHMgc3RhcnRpbmcgd2l0aCBbZHJpdmVfbGV0dGVyXTpcICAKICAgICAgICAgICAgICAgICAgICAgfAogICAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIyBVTkMgbG9jYXRpb25zIHN0YXJ0aW5nIHdpdGggLy8KICAgICAgICAgICAgICAgICAgICkgICAgICAgICAgICAgICAgICAgICMgRW5kIG9mIGxvb2stYWhlYWQgY2hlY2sKICAgICAgICAgICAgICAgICAgIC4qICAgICAgICAgICAgICAgICAgICMgTWFydGNoIHVwIHRvIHRoZSBlbmQgb2Ygc3RyaW5nIiIiLCByZS5YKQpwcmludChwLnNlYXJjaCgiLi9hYm91dC5odG1sIikpOwpwcmludChwLnNlYXJjaCgiLy9kdWItc2VydmVyMS9teW5vZGUiKSk7