Module: TopinambourRegex

Includes:
ColorRegexes, HostnameRegexes, IpRegexes, PathRegexes, PortRegexes, UserPassRegexes
Defined in:
lib/terminal_regex.rb

Constant Summary collapse

SCHEME =
"(?ix: news | telnet | nntp | https? | ftps? | sftp | webcal )"
DEFS =

Now let’s put these fragments together */

"#{IP_DEF}#{PATH_INNER_DEF}#{PATH_DEF}"
REGEX_URL_AS_IS =
"#{DEFS}#{SCHEME}://#{USERPASS}#{URL_HOST}#{PORT}#{URLPATH}"
REGEX_URL_FILE =

TODO: also support file:/etc/passwd */

"#{DEFS}(?ix: file:/ (?: / (?: #{HOSTNAME1} )? / )? (?! / ) )(?&PATH)"
REGEX_URL_HTTP =

Lookbehind so that we don’t catch “abc.www.foo.bar”, bug 739757. Lookahead for www/ftp for convenience (so that we can reuse HOSTNAME1). */

"#{DEFS}(?<!(?:#{HOSTNAMESEGMENTCHARS_CLASS}|[.]))(?=(?i:www|ftp))#{HOSTNAME1}#{PORT}#{URLPATH}"
REGEX_URL_VOIP =
"#{DEFS}(?i:h323:|sips?:)#{USERPASS}#{URL_HOST}#{PORT}#{VOIP_PATH}"
REGEX_EMAIL =
"#{DEFS}(?i:mailto:)?#{USER}@#{EMAIL_HOST}"
REGEX_NEWS_MAN =
"(?i:news:|man:|info:)[-[:alnum:]\\Q^_{|}~!\"#$%&'()*+,./;:=?`\\E]+"

Constants included from ColorRegexes

ColorRegexes::CSS_COLORS, ColorRegexes::HEX_CLASS, ColorRegexes::HEX_COLOR, ColorRegexes::PERCENT_CLASS, ColorRegexes::RGBAPERC_COLOR, ColorRegexes::RGBA_COLOR, ColorRegexes::RGBPERC_COLOR, ColorRegexes::RGB_COLOR, ColorRegexes::UINT8_CLASS

Constants included from RgbNames

RgbNames::COLOR_NAMES

Constants included from PathRegexes

PathRegexes::PATHCHARS_CLASS, PathRegexes::PATHTERM_CLASS, PathRegexes::PATH_DEF, PathRegexes::PATH_INNER_DEF, PathRegexes::URLPATH, PathRegexes::VOIP_PATH

Constants included from PortRegexes

PortRegexes::N_1_65535, PortRegexes::PORT

Constants included from HostnameRegexes

HostnameRegexes::EMAIL_HOST, HostnameRegexes::HOSTNAME1, HostnameRegexes::HOSTNAME2, HostnameRegexes::HOSTNAMESEGMENTCHARS_CLASS, HostnameRegexes::URL_HOST

Constants included from IpRegexes

IpRegexes::IPV4_DEF, IpRegexes::IPV6V4_FULL, IpRegexes::IPV6V4_LEFT, IpRegexes::IPV6V4_MID, IpRegexes::IPV6V4_RIGHT, IpRegexes::IPV6_FULL, IpRegexes::IPV6_LEFT, IpRegexes::IPV6_MID, IpRegexes::IPV6_NULL, IpRegexes::IPV6_RIGHT, IpRegexes::IP_DEF, IpRegexes::S4_DEF, IpRegexes::S6_DEF

Constants included from UserPassRegexes

UserPassRegexes::PASS, UserPassRegexes::PASSCHARS_CLASS, UserPassRegexes::USER, UserPassRegexes::USERCHARS, UserPassRegexes::USERPASS