# 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.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  RegexIterator | This interface defines an iterator that supports the evaluation of xsl:analyze-string.
  RegexIterator.OnGroup | Interface defining a call-back action for processing captured groups
  RegularExpression | 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 expression
  BMPString | An implementation of UnicodeString optimized for strings that contain no characters outside the BMP (i.e.
  CaseVariants | This class holds data about the case-variants of Unicode characters.
  Categories | Data for Regular expression character categories.
  GeneralUnicodeString | A Unicode string which, in general, may contain non-BMP characters (that is, codepoints outside the range 0-65535)
  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 engine
  Operation | Represents an operation or instruction in the regular expression program.
  Operation.OpAtom | Atom
  Operation.OpBackReference | Back-reference
  Operation.OpBOL | Beginning of Line (^)
  Operation.OpBranch | Choice (|)
  Operation.OpCharClass | Character class: match any one of a set of characters
  Operation.OpClose | Close paren (captured group)
  Operation.OpCloseCluster | Close non-capturing group
  Operation.OpConfidentPlus | "Confident Plus" quantifier: used when there is no ambiguity about the ending condition, and therefore no need to backtrack.
  Operation.OpConfidentStar | "Confident Star" quantifier: used when there is no ambiguity about the ending condition, and therefore no need to backtrack.
  Operation.OpContinue | Continue to the following instruction (ignore 'next')
  Operation.OpEndProgram | End of program
  Operation.OpEOL | End of Line ($)
  Operation.OpGoTo | Goto specified instruction
  Operation.OpMaybe | Maybe (question-mark) quantifier
  Operation.OpNothing | Match empty string
  Operation.OpOpen | Open paren (captured group)
  Operation.OpOpenCluster | Open non-capturing paren
  Operation.OpPlus | Plus quantifier
  Operation.OpReluctantMaybe | Reluctant maybe operator
  Operation.OpReluctantPlus | Reluctant plus operator
  Operation.OpReluctantStar | Reluctant star operator
  Operation.OpStar | Star quantifier
  RECompiler | A regular expression compiler class.
  REFlags | Class representing a set of regular expression flags (some combination of i, m, s, x, q).
  REMatcher | RE is an efficient, lightweight regular expression evaluator/matcher class.
  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 two subclasses, one optimized for strings whose characters are all in the BMP, the other handling the general case.

- Exception Summary
  Exception | Description
  --- | ---
  RESyntaxException | Exception thrown to indicate a syntax error in a regular expression.

## Package net.sf.saxon.regex Description

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 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.

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.

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.