Class: Regexp::Expression::Group::Absence
- Inherits:
-
Base
- Object
- Base
- Subexpression
- Base
- Regexp::Expression::Group::Absence
- 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
Instance Method Summary collapse
Methods inherited from Subexpression
#<<, #dig, #each_expression, #extract_quantifier_target, #flat_map, #initialize, #initialize_copy, #inner_match_length, #strfregexp_tree, #te, #to_h, #traverse
Methods inherited from Base
#ascii_classes?, #case_insensitive?, #default_classes?, #free_spacing?, #greedy?, #initialize, #match, #match?, #multiline?, #possessive?, #quantify, #quantity, #reluctant?, #repetitions, #strfregexp, #to_h, #to_re, #unicode_classes?, #unquantified_clone
Methods included from Shared
#==, #base_length, #coded_offset, #ends_at, #full_length, #human_name, included, #initialize_copy, #inspect, #is?, #negated?, #negative?, #nesting_level=, #offset, #one_of?, #optional?, #parts, #pre_quantifier_decoration, #pretty_print, #pretty_print_instance_variables, #quantified?, #quantifier=, #quantifier_affix, #starts_at, #to_s, #token_class, #type?
Constructor Details
This class inherits a constructor from Regexp::Expression::Subexpression
Instance Method Details
#match_length ⇒ Object
172 173 174 |
# File 'lib/regexp_parser/expression/methods/match_length.rb', line 172 def match_length MatchLength.new(self, base_min: 0, base_max: Float::INFINITY, reify: ->{ '.*' }) end |