Class: Regexp::Expression::Group::Absence

Inherits:
Base show all
Defined in:
lib/regexp_parser/expression/methods/match_length.rb,
lib/regexp_parser/expression/classes/group.rb

Overview

Special case. Absence group can match 0.. chars, irrespective of content. TODO: in theory, they can exclude match lengths with `.`: `(?~.3)`

Instance Attribute Summary

Attributes inherited from Subexpression

#expressions

Attributes inherited from Base

#conditional_level, #level, #nesting_level, #options, #quantifier, #set_level, #text, #token, #ts, #type

Instance Method Summary collapse

Methods inherited from Base

#capturing?, #comment?, #to_s

Methods inherited from Subexpression

#<<, #dig, #each_expression, #flat_map, #initialize, #initialize_copy, #inner_match_length, #strfregexp_tree, #te, #to_h, #to_s, #traverse

Methods inherited from Base

#ascii_classes?, #attributes, #base_length, #case_insensitive?, #coded_offset, #default_classes?, #free_spacing?, #full_length, #greedy?, #initialize, #initialize_copy, #is?, #match, #match?, #multiline?, #offset, #one_of?, #possessive?, #quantified?, #quantifier_affix, #quantify, #quantity, #reluctant?, #repetitions, #strfregexp, #terminal?, #to_re, #to_s, #type?, #unicode_classes?, #unquantified_clone

Constructor Details

This class inherits a constructor from Regexp::Expression::Subexpression

Instance Method Details

#match_lengthObject



168
169
170
# File 'lib/regexp_parser/expression/methods/match_length.rb', line 168

def match_length
  MatchLength.new(self, base_min: 0, base_max: Float::INFINITY, reify: ->{ '.*' })
end