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
intgroupCount
Patternpattern
Constructor Summary
JRegularExpression(CharSequence regex, boolean isXPath, CharSequence flags)
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
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

groupCount

int groupCount

pattern

Pattern pattern

Constructor Detail

JRegularExpression

public JRegularExpression(CharSequence regex, boolean isXPath, CharSequence flags)
Create (compile) a regular expression

Parameters: regex the source text of the regular expression, in XML Schema or XPath syntax isXPath set to true if this is an XPath regular expression, false if it is XML Schema flags the flags argument as supplied to functions such as fn:matches(), in string form

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

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: DynamicError 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