Package net.sf.saxon.regex
Class JRegularExpression
- java.lang.Object
-
- net.sf.saxon.regex.JRegularExpression
-
- All Implemented Interfaces:
java.io.Serializable
,RegularExpression
public class JRegularExpression extends java.lang.Object implements RegularExpression
A compiled regular expression implemented using the Java JDK regex package- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.regex.Pattern
pattern
-
Constructor Summary
Constructors Constructor Description JRegularExpression(java.lang.CharSequence regex, boolean isXPath, java.lang.CharSequence flags)
Create (compile) a regular expression
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description RegexIterator
analyze(java.lang.CharSequence input)
Use this regular expression to analyze an input string, in support of the XSLT analyze-string instruction.boolean
containsMatch(java.lang.CharSequence input)
Determine whether the regular expression contains a match for a given stringboolean
matches(java.lang.CharSequence input)
Determine whether the regular expression match a given string in its entiretyjava.lang.CharSequence
replace(java.lang.CharSequence input, java.lang.CharSequence replacement)
Replace all substrings of a supplied input string that match the regular expression with a replacement string.static int
setFlags(java.lang.CharSequence inFlags)
Set the Java flags from the supplied XPath flags.SequenceIterator
tokenize(java.lang.CharSequence input)
Use this regular expression to tokenize an input string.
-
-
-
Constructor Detail
-
JRegularExpression
public JRegularExpression(java.lang.CharSequence regex, boolean isXPath, java.lang.CharSequence flags) throws XPathException
Create (compile) a regular expression- Parameters:
regex
- the source text of the regular expression, in XML Schema or XPath syntaxisXPath
- set to true if this is an XPath regular expression, false if it is XML Schemaflags
- the flags argument as supplied to functions such as fn:matches(), in string form- Throws:
XPathException
- if the syntax of the regular expression or flags is incorrect
-
-
Method Detail
-
analyze
public RegexIterator analyze(java.lang.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.- Specified by:
analyze
in interfaceRegularExpression
-
containsMatch
public boolean containsMatch(java.lang.CharSequence input)
Determine whether the regular expression contains a match for a given string- Specified by:
containsMatch
in interfaceRegularExpression
- Parameters:
input
- the string to match- Returns:
- true if the string matches, false otherwise
-
matches
public boolean matches(java.lang.CharSequence input)
Determine whether the regular expression match a given string in its entirety- Specified by:
matches
in interfaceRegularExpression
- Parameters:
input
- the string to match- Returns:
- true if the string matches, false otherwise
-
replace
public java.lang.CharSequence replace(java.lang.CharSequence input, java.lang.CharSequence replacement) throws XPathException
Replace all substrings of a supplied input string that match the regular expression with a replacement string.- Specified by:
replace
in interfaceRegularExpression
- Parameters:
input
- the input string on which replacements are to be performedreplacement
- the replacement string in the format of the XPath replace() function- Returns:
- the result of performing the replacement
- Throws:
XPathException
- if the replacement string is invalid
-
tokenize
public SequenceIterator tokenize(java.lang.CharSequence input)
Use this regular expression to tokenize an input string.- Specified by:
tokenize
in interfaceRegularExpression
- Parameters:
input
- the string to be tokenized- Returns:
- a SequenceIterator containing the resulting tokens, as objects of type StringValue
-
setFlags
public static int setFlags(java.lang.CharSequence inFlags) throws DynamicError
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
-
-