Class OpReluctantFixed


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

      • 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