Package net.sf.saxon.regex
Class OpChoice
java.lang.Object
net.sf.saxon.regex.Operation
net.sf.saxon.regex.OpChoice
A choice of several branches within a regular expression
-
Nested Class Summary
Nested classes/interfaces inherited from class net.sf.saxon.regex.Operation
Operation.ForceProgressIterator -
Field Summary
Fields inherited from class net.sf.saxon.regex.Operation
MATCHES_ZLS_ANYWHERE, MATCHES_ZLS_AT_END, MATCHES_ZLS_AT_START, MATCHES_ZLS_NEVER -
Method Summary
Modifier and TypeMethodDescriptionbooleanAsk whether the expression contains any capturing sub-expressionsdisplay()Display the operation as a regular expression, possibly in abbreviated formgetInitialCharacterClass(boolean caseBlind) Get a CharacterClass identifying the set of characters that can appear as the first character of a non-empty string that matches this term.intGet the length of the matches returned by this operation if they are fixed-lengthintGet the maximum depth of looping within this operationintGet the minimum length of the matches returned by this operationiterateMatches(REMatcher matcher, int position) Get an iterator returning all the matches for this operationintAsk whether the regular expression is known, after static analysis, to match a zero-length stringOptimize the operation
-
Method Details
-
getMatchLength
public int getMatchLength()Description copied from class:OperationGet the length of the matches returned by this operation if they are fixed-length- Overrides:
getMatchLengthin classOperation- Returns:
- the length of the matches, or -1 if the length is variable
-
getMinimumMatchLength
public int getMinimumMatchLength()Description copied from class:OperationGet the minimum length of the matches returned by this operation- Overrides:
getMinimumMatchLengthin classOperation- Returns:
- the length of the shortest string that will match the operation
-
matchesEmptyString
public int matchesEmptyString()Description copied from class:OperationAsk whether the regular expression is known, after static analysis, to match a zero-length string- Specified by:
matchesEmptyStringin classOperation- Returns:
- a value indicating whether the regex is statically known to match
a zero-length string. Specifically:
- returns
Operation.MATCHES_ZLS_AT_STARTif the expression is statically known to match a zero-length string at the start of the supplied input; - returns
Operation.MATCHES_ZLS_AT_ENDif it is statically known to return a zero-length string at the end of the supplied input; - returns
Operation.MATCHES_ZLS_ANYWHEREif it is statically known to match a zero-length string anywhere in the input. - returns
Operation.MATCHES_ZLS_NEVERif it is statically known that the regex will never match a zero length string.
- returns
-
containsCapturingExpressions
public boolean containsCapturingExpressions()Description copied from class:OperationAsk whether the expression contains any capturing sub-expressions- Overrides:
containsCapturingExpressionsin classOperation- Returns:
- true if the expression contains any capturing sub-expressions (but not if it is a capturing expression itself, unless it contains nested capturing expressions)
-
getInitialCharacterClass
Description copied from class:OperationGet a CharacterClass identifying the set of characters that can appear as the first character of a non-empty string that matches this term. This is allowed to be an over-estimate (that is, the returned Character class must match every character that can legitimately appear at the start of the matched string, but it can also match other characters).- Overrides:
getInitialCharacterClassin classOperation- Parameters:
caseBlind- true if case-blind matching is in force ("i" flag)
-
getMaxLoopingDepth
public int getMaxLoopingDepth()Get the maximum depth of looping within this operation- Overrides:
getMaxLoopingDepthin classOperation- Returns:
- the maximum number of nested iterations
-
optimize
Description copied from class:OperationOptimize the operation -
iterateMatches
Description copied from class:OperationGet an iterator returning all the matches for this operation- Specified by:
iterateMatchesin classOperation- Parameters:
matcher- supplies the context for the matching; may be updated with information about captured groupsposition- the start position to seek a match- Returns:
- an iterator returning the endpoints of all matches starting at the supplied position
-
display
Display the operation as a regular expression, possibly in abbreviated form
-