# phpman > perldoc > XML::LibXML::RegExp

## NAME
    [XML::LibXML::RegExp](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML%3A%3ARegExp/markdown) - [XML::LibXML::RegExp](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML%3A%3ARegExp/markdown) - interface to libxml2 regular expressions

## SYNOPSIS
      use [XML::LibXML](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML/markdown);
      my $compiled_re = [XML::LibXML::RegExp](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML%3A%3ARegExp/markdown)->new('[0-9]{5}(-[0-9]{4})?');
      if ($compiled_re->isDeterministic()) { ... }
      if ($compiled_re->matches($string)) { ... }

      $compiled_re = [XML::LibXML::RegExp](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML%3A%3ARegExp/markdown)->new( $regexp_str );
      $bool = $compiled_re->matches($string);
      $bool = $compiled_re->isDeterministic();

## DESCRIPTION
    This is a perl interface to libxml2's implementation of regular expressions, which are used e.g.
    for validation of XML Schema simple types (pattern facet).

### new
          $compiled_re = [XML::LibXML::RegExp](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML%3A%3ARegExp/markdown)->new( $regexp_str );

        The constructor takes a string containing a regular expression and returns a compiled regexp
        object.

### matches
          $bool = $compiled_re->matches($string);

        Given a string value, returns a true value if the value is matched by the compiled regular
        expression.

### isDeterministic
          $bool = $compiled_re->isDeterministic();

        Returns a true value if the regular expression is deterministic; returns false otherwise.
        (See the definition of determinism in the XML spec
        (<<http://www.w3.org/TR/REC-xml/#determinism>>))

## AUTHORS
    Matt Sergeant, Christian Glahn, Petr Pajas

## VERSION
    2.0134

## COPYRIGHT
    2001-2007, AxKit.com Ltd.

    2002-2006, Christian Glahn.

    2006-2009, Petr Pajas.

## LICENSE
    This program is free software; you can redistribute it and/or modify it under the same terms as
    Perl itself.

