Provided by: libje-perl_0.060-1_all bug

NAME

       JE::Object::RegExp - JavaScript regular expression (RegExp object) class

SYNOPSIS

         use JE;
         use JE::Object::RegExp;

         $j = new JE;

         $js_regexp = new JE::Object::RegExp $j, "(.*)", 'ims';

         $perl_qr = $js_regexp->value;

         $some_string =~ $js_regexp; # You can use it as a qr//

DESCRIPTION

       This class implements JavaScript regular expressions for JE.

       See JE::Types for a description of most of the interface. Only what is specific to
       JE::Object::RegExp is explained here.

       A RegExp object will stringify the same way as a "qr//", so that you can use "=~" on it.
       This is different from the return value of the "to_string" method (the way it stringifies
       in JS).

       Since JE's regular expressions use Perl's engine underneath, the features that Perl
       provides that are not part of the ECMAScript spec are supported, except for "(?s)" and
       "(?m)", which don't do anything, and "(?|...)", which is unpredictable.

       In versions prior to 0.042, a hyphen adjacent to "\d", "\s" or "\w" in a character class
       would be unpredictable (sometimes a syntax error). Now it is interpreted literally. This
       matches what most implementations do, which happens to be the same as Perl's behaviour.
       (It is a syntax error in ECMAScript.)

METHODS

       value
           Returns a Perl "qr//" regular expression.

           If the regular expression or the string that is being matched against it contains
           characters outside the Basic Multilingual Plane (whose character codes exceed 0xffff),
           the behavior is undefined--for now at least. I still need to solve the problem caused
           by JS's unintuitive use of raw surrogates. (In JS, "/../" will match a surrogate pair,
           which is considered to be one character in Perl. This means that the same regexp
           matched against the same string will produce different results in Perl and JS.)

       class
           Returns the string 'RegExp'.

SEE ALSO

       JE
       JE::Types
       JE::Object