Class OpGreedyFixed


public class OpGreedyFixed extends OpRepeat
Handle a greedy repetition (with possible min and max) where the size of the repeated unit is fixed.
  • Method Details

    • getMatchLength

      public int getMatchLength()
      Description copied from class: Operation
      Get the length of the matches returned by this operation if they are fixed-length
      Overrides:
      getMatchLength in class OpRepeat
      Returns:
      the length of the matches, or -1 if the length is variable
    • matchesEmptyString

      public int matchesEmptyString()
      Description copied from class: Operation
      Ask whether the regular expression is known, after static analysis, to match a zero-length string
      Overrides:
      matchesEmptyString in class OpRepeat
      Returns:
      a value indicating whether the regex is statically known to match a zero-length string. Specifically: Returning 0 means that it is not known statically whether or not the regex will match a zero-length string; this case typically arises when back-references are involved.
    • optimize

      public Operation optimize(REProgram program, REFlags flags)
      Description copied from class: Operation
      Optimize the operation
      Overrides:
      optimize in class OpRepeat
      Parameters:
      program - the program being optimized
      flags - the regular expression flags
      Returns:
      the optimized operation
    • iterateMatches

      public IntIterator iterateMatches(REMatcher matcher, int position)
      Description copied from class: Operation
      Get an iterator returning all the matches for this operation
      Overrides:
      iterateMatches in class OpRepeat
      Parameters:
      matcher - supplies the context for the matching; may be updated with information about captured groups
      position - the start position to seek a match
      Returns:
      an iterator returning the endpoints of all matches starting at the supplied position