module Regexp::Expression::Escape

Constants

AbstractMetaControlSequence
AsciiEscape
Backspace
Base
Bell
Codepoint
CodepointList
Control
FormFeed
Hex
Literal
Meta
MetaControl
Newline
Octal
Return
Tab
UTF8Hex
VerticalTab

Public Instance Methods

char() click to toggle source

Maybe this should be a unique top-level expression class?

# File lib/regexp_parser/expression/methods/escape_sequence_codepoint.rb, line 28
def char
  raise NoMethodError, 'CodepointList responds only to #chars'
end
chars() click to toggle source
# File lib/regexp_parser/expression/methods/escape_sequence_codepoint.rb, line 36
def chars
  codepoints.map { |cp| cp.chr('utf-8') }
end
codepoint() click to toggle source
# File lib/regexp_parser/expression/methods/escape_sequence_codepoint.rb, line 4
def codepoint; 0x1B end
codepoints() click to toggle source
# File lib/regexp_parser/expression/methods/escape_sequence_codepoint.rb, line 40
def codepoints
  text.scan(/\h+/).map(&:hex)
end
control_sequence_to_s(control_sequence) click to toggle source
# File lib/regexp_parser/expression/methods/escape_sequence_codepoint.rb, line 48
def control_sequence_to_s(control_sequence)
  five_lsb = control_sequence.unpack('B*').first[-5..-1]
  ["000#{five_lsb}"].pack('B*')
end
meta_char_to_codepoint(meta_char) click to toggle source
# File lib/regexp_parser/expression/methods/escape_sequence_codepoint.rb, line 53
def meta_char_to_codepoint(meta_char)
  byte_value = meta_char.ord
  byte_value < 128 ? byte_value + 128 : byte_value
end