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
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