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 expressionAn implementation of UnicodeString optimized for strings that contain no characters outside the BMP (i.e.Represents a match of a captured subgroupThis class holds data about the case-variants of Unicode characters.An implementation of UnicodeString representing a zero-length string.A Unicode string which, in general, may contain non-BMP characters (that is, codepoints outside the range 0-65535)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 engineAn implementation of UnicodeString optimized for strings that contain no characters outside the Latin-1 range (i.e.Represents an operation or instruction in the regular expression program.A match against a fixed string of any lengthBack-referenceBeginning of Line (^)Open paren (captured group)A match of a single character in the input against a set of permitted charactersA choice of several branchesEnd of programEnd of Line ($)Handle a greedy repetition (with possible min and max) where the size of the repeated unit is fixed.Match empty stringHandle 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 piecesOperation 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 groupsA 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 class provides knowledge of the names and contents of Unicode character blocks, as referenced using the \p{IsXXXXX} construct in a regular expression.An abstract class that efficiently handles Unicode strings including non-BMP characters; it has three subclasses, respectively handling strings whose maximum character code is 255, 65535, or 1114111.