## net.sf.saxon.functions
Class Matches

    java.lang.Object
      net.sf.saxon.expr.Expression
          net.sf.saxon.expr.FunctionCall
              net.sf.saxon.functions.SystemFunction
                  net.sf.saxon.functions.Matches

All Implemented Interfaces:
  Serializable, SourceLocator, Container, EvaluableItem, SequenceIterable, InstructionInfoProvider

    public class Matches

extends SystemFunction

This class implements the matches() function for regular expression matching

See Also:
  Serialized Form

Field Summary

Fields inherited from class net.sf.saxon.expr.Expression
`EVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD`

Constructor Summary
`Matches()`

Method Summary
`Item` `evaluateItem(XPathContext c)` Evaluate the matches() function to give a Boolean value.
`RegularExpression` `getCompiledRegularExpression()` Get the compiled regular expression, returning null if the regex has not been compiled
`Expression` `simplify(StaticContext env)` Simplify and validate.
`static RegularExpression` `tryToCompile(Expression[] args, int patternArg, int flagsArg, StaticContext env)` Try to precompile the arguments to the function.

Methods inherited from class net.sf.saxon.functions.SystemFunction
`checkArguments, computeCardinality, computeSpecialProperties, display, getDetails, getErrorCodeForTypeErrors, getItemType, main, makeSystemFunction, optimize, setDetails`

Methods inherited from class net.sf.saxon.expr.FunctionCall
`getArguments, getDisplayName, getFunctionNameCode, getNumberOfArguments, iterateSubExpressions, preEvaluate, promote, replaceSubExpression, setArguments, setFunctionNameCode, typeCheck`

Methods inherited from class net.sf.saxon.expr.Expression

`adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, effectiveBooleanValue, evaluateAsString, getCardinality, getColumnNumber, getContainingProcedure, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getLineNumber, getLocationId, getLocationProvider, getParentExpression, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasBadParentPointer, iterate, markTailFunctionCalls, process, resetStaticProperties, setLocationId, setParentExpression, setParentExpression, suppressValidation`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Matches

    public Matches()

Method Detail

### simplify

    public Expression simplify(StaticContext env)
                        throws XPathException

  Simplify and validate. This is a pure function so it can be simplified in advance if the arguments are known

  Overrides:
    `simplify` in class `FunctionCall`
  Returns:
    the simplified expression
  Throws:
    `StaticError` - if any error is found (e.g. invalid regular expression)
    `XPathException` - if an error is discovered during expression rewriting

### getCompiledRegularExpression

    public RegularExpression getCompiledRegularExpression()

  Get the compiled regular expression, returning null if the regex has not been compiled

### evaluateItem

    public Item evaluateItem(XPathContext c)
                      throws XPathException

  Evaluate the matches() function to give a Boolean value.

  Specified by:
    `evaluateItem` in interface `EvaluableItem`
  Overrides:
    `evaluateItem` in class `Expression`
  Parameters:
    `c` - The dynamic evaluation context
  Returns:
    the result as a BooleanValue, or null to indicate the empty sequence
  Throws:
    `XPathException` - on an error

### tryToCompile

    public static RegularExpression tryToCompile(Expression[] args,
                                                 int patternArg,
                                                 int flagsArg,
                                                 StaticContext env)
                                          throws XPathException

  Try to precompile the arguments to the function. This method is shared by the implementations of the three XPath functions matches(), replace(), and tokenize().

  Parameters:
    `args` - the supplied arguments to the function, as an array
    `patternArg` - the position of the argument containing the regular expression
    `flagsArg` - the position of the argument containing the flags
  Returns:
    the compiled regular expression, or null indicating that the information is not available statically so it cannot be precompiled
  Throws:
    `XPathException` - if any failure occurs, in particular, if the regular expression is invalid

Copyright (C) Michael H. Kay. All rights reserved.