Package net.sf.saxon.regex
Class ARegularExpression
java.lang.Object
net.sf.saxon.regex.ARegularExpression
- All Implemented Interfaces:
RegularExpression
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).
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) String
(package private) UnicodeString
(package private) REProgram
-
Constructor Summary
ConstructorsConstructorDescriptionARegularExpression
(CharSequence pattern, String flags, String hostLanguage, List<String> warnings, Configuration config) Create and compile a regular expression -
Method Summary
Modifier and TypeMethodDescriptionanalyze
(CharSequence input) Use this regular expression to analyze an input string, in support of the XSLT analyze-string instruction.static ARegularExpression
Static factory method intended for simple static regular expressions known to be correctboolean
containsMatch
(CharSequence input) Determine whether the regular expression contains a match of a given stringgetFlags()
Get the flags used at the time the regular expression was compiled.boolean
matches
(CharSequence input) Determine whether the regular expression matches 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.replaceWith
(CharSequence input, Function<CharSequence, CharSequence> replacer) Replace all substrings of a supplied input string that match the regular expression with a replacement string.tokenize
(CharSequence input) Use this regular expression to tokenize an input string.
-
Field Details
-
rawPattern
UnicodeString rawPattern -
rawFlags
String rawFlags -
regex
REProgram regex
-
-
Constructor Details
-
ARegularExpression
public ARegularExpression(CharSequence pattern, String flags, String hostLanguage, List<String> warnings, Configuration config) throws XPathException Create and compile a regular expression- Parameters:
pattern
- the regular expressionflags
- the flags (ixsmq)hostLanguage
- one of "XP20", "XP30", "XSD10", "XSD11". Also allow combinations, e.g. "XP20/XSD11".warnings
- a list to be populated with any warnings arising during compilation of the regexconfig
- the Saxon Configuration: may be null- Throws:
XPathException
- if the regular expression is invalid
-
-
Method Details
-
compile
Static factory method intended for simple static regular expressions known to be correct- Throws:
IllegalArgumentException
- if the pattern or flags are incorrect
-
matches
Determine whether the regular expression matches 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
-
containsMatch
Determine whether the regular expression contains a match of a given string- Specified by:
containsMatch
in interfaceRegularExpression
- Parameters:
input
- the string to match- Returns:
- true if the string matches, false otherwise
-
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
-
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
-
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
-
replaceWith
public CharSequence replaceWith(CharSequence input, Function<CharSequence, CharSequence> replacer) throws XPathExceptionReplace all substrings of a supplied input string that match the regular expression with a replacement string.- Specified by:
replaceWith
in interfaceRegularExpression
- Parameters:
input
- the input string on which replacements are to be performedreplacer
- 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
-
getFlags
Get the flags used at the time the regular expression was compiled.- Specified by:
getFlags
in interfaceRegularExpression
- Returns:
- a string containing the flags
-