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.
-
Interface Summary Interface Description RegexIterator This interface defines an iterator that supports the evaluation of xsl:analyze-string.RegexIterator.MatchHandler Interface defining a call-back action for processing captured groupsRegularExpression This interface represents a compiled regular expression. -
Class Summary Class Description ARegexIterator Class ARegexIterator - provides an iterator over matched and unmatched substrings.ARegularExpression 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).ATokenIterator A ATokenIterator is an iterator over the strings that result from tokenizing a string using a regular expressionBMPString An implementation of UnicodeString optimized for strings that contain no characters outside the BMP (i.e.Capture Represents a match of a captured subgroupCaseVariants This class holds data about the case-variants of Unicode characters.EmptyString An implementation of UnicodeString representing a zero-length string.GeneralUnicodeString A Unicode string which, in general, may contain non-BMP characters (that is, codepoints outside the range 0-65535)History The History object is used to avoid backtracking too far.JavaRegularExpression An implementation of RegularExpression that calls the JDK regular expression library directly.JRegexIterator Class JRegexIterator - provides an iterator over matched and unmatched substrings.JTokenIterator 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 engineLatinString An implementation of UnicodeString optimized for strings that contain no characters outside the Latin-1 range (i.e.Operation Represents an operation or instruction in the regular expression program.Operation.OpAtom A match against a fixed string of any lengthOperation.OpBackReference Back-referenceOperation.OpBOL Beginning of Line (^)Operation.OpCapture Open paren (captured group)Operation.OpCharClass A match of a single character in the input against a set of permitted charactersOperation.OpChoice A choice of several branchesOperation.OpEndProgram End of programOperation.OpEOL End of Line ($)Operation.OpGreedyFixed Handle a greedy repetition (with possible min and max) where the size of the repeated unit is fixed.Operation.OpNothing Match empty stringOperation.OpReluctantFixed Handle a reluctant repetition (with possible min and max) where the size of the repeated unit is fixed.Operation.OpRepeat Handle a repetition (with possible min and max) where the size of the repeated unit is variable.Operation.OpSequence A sequence of multiple piecesOperation.OpTrace Operation that wraps a base operation and traces its executionOperation.OpUnambiguousRepeat Handle 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.RECompiler A regular expression compiler class.REFlags Class representing a set of regular expression flags (some combination of i, m, s, x, q).RegexPrecondition A precondition that must be true if a regular expression is to matchREMatcher RE is an efficient, lightweight regular expression evaluator/matcher class.REMatcher.State REProgram A class that holds compiled regular expressions.UnicodeBlocks This class provides knowledge of the names and contents of Unicode character blocks, as referenced using the \p{IsXXXXX} construct in a regular expression.UnicodeString 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. -
Exception Summary Exception Description RESyntaxException Exception thrown to indicate a syntax error in a regular expression.