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).
-
Constructor Summary
ConstructorsConstructorDescriptionARegularExpression(UnicodeString pattern, String flags, String hostLanguage, List<String> warnings, Configuration config) Create and compile a regular expression -
Method Summary
Modifier and TypeMethodDescriptionanalyze(UnicodeString input) Use this regular expression to analyze an input string, in support of the XSLT analyze-string instruction.static ARegularExpressionStatic factory method intended for simple static regular expressions known to be correctstatic ARegularExpressioncompile(UnicodeString pattern, String flags) Static factory method intended for simple static regular expressions known to be correctbooleancontainsMatch(UnicodeString 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.booleanAsk whether the regular expression is using platform-native syntax (Java or .NET), or XPath syntaxbooleanmatches(UnicodeString input) Determine whether the regular expression matches a given string in its entiretyreplace(UnicodeString input, UnicodeString replacement) Replace all substrings of a supplied input string that match the regular expression with a replacement string.replaceWith(UnicodeString input, BiFunction<UnicodeString, UnicodeString[], UnicodeString> replacer) Replace all substrings of a supplied input string that match the regular expression with a replacement string.tokenize(UnicodeString input) Use this regular expression to tokenize an input string.
-
Constructor Details
-
ARegularExpression
public ARegularExpression(UnicodeString 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- Parameters:
pattern- the regular expression, using XPath 3.1 syntaxflags- regular expression flags- Returns:
- the compiled regular expression
- Throws:
IllegalArgumentException- if the regular expression or the flags are invalid
-
compile
Static factory method intended for simple static regular expressions known to be correct -
matches
Determine whether the regular expression matches a given string in its entirety- Specified by:
matchesin 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:
containsMatchin 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:
tokenizein 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:
analyzein 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:
replacein 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 UnicodeString replaceWith(UnicodeString input, BiFunction<UnicodeString, UnicodeString[], throws XPathExceptionUnicodeString> replacer) Replace all substrings of a supplied input string that match the regular expression with a replacement string.- Specified by:
replaceWithin 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:
getFlagsin interfaceRegularExpression- Returns:
- a string containing the flags
-
isPlatformNative
public boolean isPlatformNative()Ask whether the regular expression is using platform-native syntax (Java or .NET), or XPath syntax- Specified by:
isPlatformNativein interfaceRegularExpression- Returns:
- true if using platform-native syntax
-