Package net.sf.saxon.java
Class JRegularExpression
java.lang.Object
net.sf.saxon.java.JRegularExpression
- All Implemented Interfaces:
Serializable
,RegularExpression
A compiled regular expression implemented using the Java JDK regex package
- See Also:
-
Field Summary
Fields inherited from interface net.sf.saxon.regex.RegularExpression
NATIVE_SYNTAX, XML_SCHEMA_SYNTAX, XPATH_SYNTAX
-
Constructor Summary
ConstructorsConstructorDescriptionJRegularExpression
(CharSequence regex, int xmlVersion, int syntax, int flagBits) Create (compile) a regular expressionJRegularExpression
(String javaRegex, int flagBits) Create a regular expression, starting with an already-translated Java regex -
Method Summary
Modifier and TypeMethodDescriptionanalyze
(CharSequence input) Use this regular expression to analyze an input string, in support of the XSLT analyze-string instruction.boolean
containsMatch
(CharSequence input) Determine whether the regular expression contains a match for a given stringint
Get the flag bits as used by the Java regular expression engineGet the Java regular expression (after translation from an XPath regex, but before compilation)boolean
matches
(CharSequence input) Determine whether the regular expression match a given string in its entiretyreplace
(CharSequence input, CharSequence replacement) Replace all substrings of a supplied input string that match the regular expression with a replacement string.static int
setFlags
(CharSequence inFlags) Set the Java flags from the supplied XPath flags.tokenize
(CharSequence input) Use this regular expression to tokenize an input string.
-
Constructor Details
-
JRegularExpression
Create a regular expression, starting with an already-translated Java regex- Parameters:
javaRegex
- the regular expression after translation to Java notationflagBits
- the option bits, derived from the user-specified flags
-
JRegularExpression
public JRegularExpression(CharSequence regex, int xmlVersion, int syntax, int flagBits) throws XPathException Create (compile) a regular expression- Parameters:
regex
- the source text of the regular expression, in XML Schema or XPath syntaxxmlVersion
- indicates whether \i and \c have their XML 1.0 or XML 1.1 meaningssyntax
- indicates whether XPath, XML Schema, or Java native regular expression syntax is to be usedflagBits
- the flags argument translated to the Java bit-significant integer representation- Throws:
XPathException
- if the syntax of the regular expression or flags is incorrect
-
-
Method Details
-
getJavaRegularExpression
Get the Java regular expression (after translation from an XPath regex, but before compilation)- Returns:
- the regular expression in Java notation
-
getFlagBits
public int getFlagBits()Get the flag bits as used by the Java regular expression engine- Returns:
- the flag bits
-
analyze
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
- Parameters:
input
- the character string to be analyzed using the regular expression- Returns:
- an iterator over matched and unmatched substrings
-
containsMatch
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
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
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
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
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
-