Package net.sf.saxon.regex
Class ARegularExpression
- java.lang.Object
-
- net.sf.saxon.regex.ARegularExpression
-
- All Implemented Interfaces:
RegularExpression
public class ARegularExpression extends java.lang.Object implements 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
Constructors Constructor Description ARegularExpression(java.lang.CharSequence pattern, java.lang.String flags, java.lang.String hostLanguage, java.util.List<java.lang.String> warnings, Configuration config)
Create and 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.static ARegularExpression
compile(java.lang.String pattern, java.lang.String flags)
Static factory method intended for simple static regular expressions known to be correctboolean
containsMatch(java.lang.CharSequence input)
Determine whether the regular expression contains a match of a given stringjava.lang.String
getFlags()
Get the flags used at the time the regular expression was compiled.boolean
matches(java.lang.CharSequence input)
Determine whether the regular expression matches 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.java.lang.CharSequence
replaceWith(java.lang.CharSequence input, java.util.function.Function<java.lang.CharSequence,java.lang.CharSequence> replacer)
Replace all substrings of a supplied input string that match the regular expression with a replacement string.AtomicIterator
tokenize(java.lang.CharSequence input)
Use this regular expression to tokenize an input string.
-
-
-
Constructor Detail
-
ARegularExpression
public ARegularExpression(java.lang.CharSequence pattern, java.lang.String flags, java.lang.String hostLanguage, java.util.List<java.lang.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 Detail
-
compile
public static ARegularExpression compile(java.lang.String pattern, java.lang.String flags)
Static factory method intended for simple static regular expressions known to be correct- Throws:
java.lang.IllegalArgumentException
- if the pattern or flags are incorrect
-
matches
public boolean matches(java.lang.CharSequence input)
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
public boolean containsMatch(java.lang.CharSequence input)
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
public AtomicIterator 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
-
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
- Parameters:
input
- the character string to be analyzed using the regular expression- Returns:
- an iterator over matched and unmatched substrings
-
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
-
replaceWith
public java.lang.CharSequence replaceWith(java.lang.CharSequence input, java.util.function.Function<java.lang.CharSequence,java.lang.CharSequence> replacer) throws XPathException
Replace 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
public java.lang.String getFlags()
Get the flags used at the time the regular expression was compiled.- Specified by:
getFlags
in interfaceRegularExpression
- Returns:
- a string containing the flags
-
-