Package net.sf.saxon.regex
This package contains the code to map XML Schema and XPath regular expressions to a regular expression engine of the underlying Java platform.
Most of the classes implement a regular expression engine derived from Apache's Jakarta project. The code of Jakarta has been modified so that the regular expressions implement the syntax of XSD/XPath regular expressions. There have also been extensive changes for performance reasons
In addition, there are classes to provide direct access to the native JDK regular expression engine. The flags value ";j" may be used to select this engine. The resulting syntax/semantics will not be an exact match to the XPath definition.
Users should not normally need to use these classes directly.
Earlier versions of Saxon included a translator from XPath regular expressions to Java regular expressions, based on that produced by James Clark. This mechanism is no longer used.
-
ClassDescriptionClass ARegexIterator - provides an iterator over matched and unmatched substrings.Glue class to interface the Jakarta regex engine to Saxon (The prefix 'A' indicates an Apache regular expression, as distinct from a JDK regular expression).A ATokenIterator is an iterator over the strings that result from tokenizing a string using a regular expressionRepresents a match of a captured subgroupThis singleton class holds data about the case-variants of Unicode characters.The History object is used to avoid backtracking too far.An implementation of RegularExpression that calls the JDK regular expression library directly.Class JRegexIterator - provides an iterator over matched and unmatched substrings.A JTokenIterator is an iterator over the strings that result from tokenizing a string using a regular expression, in this case a regular expression evaluated using the JDK regex engineA match against a fixed string of any length, within a regular expressionA back-reference in a regular expressionBeginning of Line (^) in a regular expressionOpen paren (captured group) within a regular expressionA match of a single character in the input against a set of permitted charactersA choice of several branches within a regular expressionEnd of program in a regular expressionEnd of Line ($) in a regular expressionRepresents an operation or instruction in the regular expression program.The ForceProgressIterator is used to protect against non-termination; specifically, iterators that return an infinite number of zero-length matches.Handle a greedy repetition (with possible min and max) where the size of the repeated unit is fixed.Match empty string within a regular expressionHandle a reluctant repetition (with possible min and max) where the size of the repeated unit is fixed.Handle a repetition (with possible min and max) where the size of the repeated unit is variable.A sequence of multiple pieces in a regular expressionOperation that wraps a base operation and traces its executionHandle a repetition where there is no ambiguity; if the repeated term is matched in the string, then it cannot match anything other than the repeated term.A regular expression compiler class.Class representing a set of regular expression flags (some combination of i, m, s, x, q).This interface defines an iterator that supports the evaluation of xsl:analyze-string.Interface defining a call-back action for processing captured groups within a regular expressionA precondition that must be true if a regular expression is to matchThis interface represents a compiled regular expression.RE is an efficient, lightweight regular expression evaluator/matcher class.A class that holds compiled regular expressions.Exception thrown to indicate a syntax error in a regular expression.This singleton class provides knowledge of the names and contents of Unicode character blocks, as referenced using the
\p{IsXXXXX}
construct in a regular expression.