diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/TUWF/Validate/Interop.pm | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/TUWF/Validate/Interop.pm b/lib/TUWF/Validate/Interop.pm index de4444e..25feb44 100644 --- a/lib/TUWF/Validate/Interop.pm +++ b/lib/TUWF/Validate/Interop.pm @@ -108,11 +108,15 @@ sub json_type { # Attempts to convert a stringified Perl regex into something that is compatible with JS. +# - @ should not be escaped # - (?^: is a perl alias for (?d-imnsx: # - Javascript doesn't officially support embedded modifiers in the first place, so these are removed # Regexes compiled with any of /imsx will not work properly. sub _re_compat { - $_[0] =~ s{\(\?\^?[alupimnsx]*(?:-[imnsx]+)?(?=[:\)])}{(?}gr; + local $_ = $_[0]; + s/\\@/@/g; + s{\(\?\^?[alupimnsx]*(?:-[imnsx]+)?(?=[:\)])}{(?}g; + $_ } |