Class JRegularExpression

java.lang.Object
net.sf.saxon.java.JRegularExpression
All Implemented Interfaces:
Serializable, RegularExpression

public class JRegularExpression extends Object implements RegularExpression
A compiled regular expression implemented using the Java JDK regex package
See Also:
  • Constructor Details

    • JRegularExpression

      public JRegularExpression(String javaRegex, int flagBits)
      Create a regular expression, starting with an already-translated Java regex
      Parameters:
      javaRegex - the regular expression after translation to Java notation
      flagBits - 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 syntax
      xmlVersion - indicates whether \i and \c have their XML 1.0 or XML 1.1 meanings
      syntax - indicates whether XPath, XML Schema, or Java native regular expression syntax is to be used
      flagBits - 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

      public String 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

      public RegexIterator analyze(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 interface RegularExpression
      Parameters:
      input - the character string to be analyzed using the regular expression
      Returns:
      an iterator over matched and unmatched substrings
    • containsMatch

      public boolean containsMatch(CharSequence input)
      Determine whether the regular expression contains a match for a given string
      Specified by:
      containsMatch in interface RegularExpression
      Parameters:
      input - the string to match
      Returns:
      true if the string matches, false otherwise
    • matches

      public boolean matches(CharSequence input)
      Determine whether the regular expression match a given string in its entirety
      Specified by:
      matches in interface RegularExpression
      Parameters:
      input - the string to match
      Returns:
      true if the string matches, false otherwise
    • replace

      public CharSequence replace(CharSequence input, 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 interface RegularExpression
      Parameters:
      input - the input string on which replacements are to be performed
      replacement - 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(CharSequence input)
      Use this regular expression to tokenize an input string.
      Specified by:
      tokenize in interface RegularExpression
      Parameters:
      input - the string to be tokenized
      Returns:
      a SequenceIterator containing the resulting tokens, as objects of type StringValue
    • setFlags

      public static int setFlags(CharSequence inFlags) throws XPathException
      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