net.sf.saxon.regex

Class JRegularExpression

public class JRegularExpression extends Object implements RegularExpression

A compiled regular expression implemented using the Java JDK regex package
Field Summary
intflagBits
StringjavaRegex
Patternpattern
Constructor Summary
JRegularExpression(String javaRegex, int flagBits)
Create a regular expression, starting with an already-translated Java regex.
JRegularExpression(CharSequence regex, int xmlVersion, int syntax, int flagBits)
Create (compile) a regular expression
Method Summary
RegexIteratoranalyze(CharSequence input)
Use this regular expression to analyze an input string, in support of the XSLT analyze-string instruction.
booleancontainsMatch(CharSequence input)
Determine whether the regular expression contains a match for a given string
intgetFlagBits()
Get the flag bits as used by the Java regular expression engine
StringgetJavaRegularExpression()
Get the Java regular expression (after translation from an XPath regex, but before compilation)
static voidmain(String[] args)
booleanmatches(CharSequence input)
Determine whether the regular expression match a given string in its entirety
CharSequencereplace(CharSequence input, CharSequence replacement)
Replace all substrings of a supplied input string that match the regular expression with a replacement string.
static intsetFlags(CharSequence inFlags)
Set the Java flags from the supplied XPath flags.
SequenceIteratortokenize(CharSequence input)
Use this regular expression to tokenize an input string.

Field Detail

flagBits

int flagBits

javaRegex

String javaRegex

pattern

Pattern pattern

Constructor Detail

JRegularExpression

public JRegularExpression(String javaRegex, int flagBits)
Create a regular expression, starting with an already-translated Java regex. NOTE: this constructor is called from compiled XQuery code

Parameters: javaRegex the regular expression after translation to Java notation flagBits the option bits, derived from the user-specified flags

JRegularExpression

public JRegularExpression(CharSequence regex, int xmlVersion, int syntax, int flagBits)
Create (compile) a regular expression

Parameters: regex the source text of the regular expression, in XML Schema or XPath syntax xmlVersion indicates whether \i and \c have their XML 1.0 or XML 1.1 meanings syntax indicates whether XPath, XML Schema, or Java native regular expression syntax is to be used flagBits the flags argument translated to the Java bit-significant integer representation

Throws: net.sf.saxon.trans.XPathException if the syntax of the regular expression or flags is incorrect

Method Detail

analyze

public RegexIterator analyze(CharSequence input)
Use this regular expression to analyze an input string, in support of the XSLT analyze-string instruction. The resulting RegexIterator provides both the matching and non-matching substrings, and allows them to be distinguished. It also provides access to matched subgroups.

containsMatch

public boolean containsMatch(CharSequence input)
Determine whether the regular expression contains a match for a given string

Parameters: input the string to match

Returns: true if the string matches, false otherwise

getFlagBits

public int getFlagBits()
Get the flag bits as used by the Java regular expression engine

Returns: the flag bits

getJavaRegularExpression

public String getJavaRegularExpression()
Get the Java regular expression (after translation from an XPath regex, but before compilation)

Returns: the regular expression in Java notation

main

public static void main(String[] args)

matches

public boolean matches(CharSequence input)
Determine whether the regular expression match a given string in its entirety

Parameters: input the string to match

Returns: true if the string matches, false otherwise

replace

public CharSequence replace(CharSequence input, CharSequence replacement)
Replace all substrings of a supplied input string that match the regular expression with a replacement string.

Parameters: input the input string on which replacements are to be performed replacement the replacement string in the format of the XPath replace() function

Returns: the result of performing the replacement

Throws: net.sf.saxon.trans.XPathException if the replacement string is invalid

setFlags

public static int setFlags(CharSequence inFlags)
Set the Java flags from the supplied XPath flags.

Parameters: inFlags the flags as a string, e.g. "im"

Returns: the flags as a bit-significant integer

Throws: XPathException if the supplied value is invalid

tokenize

public SequenceIterator tokenize(CharSequence input)
Use this regular expression to tokenize an input string.

Parameters: input the string to be tokenized

Returns: a SequenceIterator containing the resulting tokens, as objects of type StringValue