$^
(?<![\w\.]) ([1-9][0-9]* | 0) (?![\w\.])
(?<![\w\.]) 0 [0-7]+ (?![\w\.])
(?<![\w\.]) 0 [xX] [0-9a-fA-F]+ (?![\w\.])
\b
([0-9]+ e [-+]? [0-9]+ |
([0-9]* \. [0-9]+ | [0-9]+ \.)
(e [-+]? [0-9]+)?) [fl]?
\b
\%{decimal}
\%{octal}
\%{hexadecimal}
\%{float}
\%[ # separator
(https?|ftp|nntp|news|javascript|about): # protocol
[^\ \\]* [^\ \\.:;,?><)] # address
(?![a-z0-9_.-]) # separator
\%[ # separator
(mailto:)? # optional "mailto:"
[a-z0-9_.+-]+ # user name
@ # at
[a-z0-9_.+-]+ # domain
\%] # separator
\\$
^
^#!
$
\\.
"
"
'
'