logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

XML::LibXML::RegExp - XML::LibXML::RegExp - interface to libxml2 regular expressions

Authors

       Matt Sergeant, Christian Glahn, Petr Pajas

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->new( $regexp_str );

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

       matches($string)
             $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>))

License

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

perl v5.40.1                                       2025-08-01                           XML::LibXML::RegExp(3pm)

Name

       XML::LibXML::RegExp - XML::LibXML::RegExp - interface to libxml2 regular expressions

Synopsis

         use XML::LibXML;
         my $compiled_re = XML::LibXML::RegExp->new('[0-9]{5}(-[0-9]{4})?');
         if ($compiled_re->isDeterministic()) { ... }
         if ($compiled_re->matches($string)) { ... }

         $compiled_re = XML::LibXML::RegExp->new( $regexp_str );
         $bool = $compiled_re->matches($string);
         $bool = $compiled_re->isDeterministic();

Version

       2.0207

See Also