Module: RFC822

Defined in:
lib/rfc822.rb

Constant Summary collapse

QTEXT =
'[^\\x0d\\x22\\x5c\\x80-\\xff]'
DTEXT =
'[^\\x0d\\x5b-\\x5d\\x80-\\xff]'
ATOM =
'[^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-' +
'\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+'
QUOTED_PAIR =
'\\x5c[\\x00-\\x7f]'
DOMAIN_LITERAL =
"\\x5b(?:#{DTEXT}|#{QUOTED_PAIR})*\\x5d"
QUOTED_STRING =
"\\x22(?:#{QTEXT}|#{QUOTED_PAIR})*\\x22"
DOMAIN_REF =
ATOM
SUB_DOMAIN =
"(?:#{DOMAIN_REF}|#{DOMAIN_LITERAL})"
WORD =
"(?:#{ATOM}|#{QUOTED_STRING})"
DOMAIN =
"#{SUB_DOMAIN}(?:\\x2e#{SUB_DOMAIN})*"
LOCAL_PART =
"#{WORD}(?:\\x2e#{WORD})*"
ADDR_SPEC =
"#{LOCAL_PART}\\x40#{DOMAIN}"
EMAIL_REGEXP_WHOLE =
Regexp.new("\\A#{ADDR_SPEC}\\z", nil, 'n')
EMAIL_REGEXP_PART =
Regexp.new("#{ADDR_SPEC}", nil, 'n')