Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: creating qr from existing regex

by Perlbotics (Bishop)
on Feb 08, 2018 at 18:13 UTC ( #1208735=note: print w/replies, xml ) Need Help??


in reply to creating qr from existing regex

This is indeed a string that contains a qr expression:

{"name" => 'qr/.*uba$/i'}

Does removing the quotes solve your problem?

{"name" => qr/.*uba$/i}

When you perform string manipulations to form your qr-expression, you might find quotemeta useful.

Replies are listed 'Best First'.
Re^2: creating qr from existing regex
by Bobert1234 (Novice) on Feb 08, 2018 at 18:26 UTC
    i figured it out. The issue was that when i created the $re variable, it was adding the slashes. by using just what was inside the slashes of the original string, i managed to get it to work
    if(index($_[0],"qr/") >= 0){ $_[0] =~s/qr[\/](.*?)([^\\])[\/](i?)$/$1$2/s; print $fh Dumper($_[0]); if($3=='i'){ $_[0] = qr/$_[0]/i; }else{ $_[0] = qr/$_[0]/; } print $fh Dumper($_[0]); }

      Maybe use split

      my $string = '/.*uba$/i'; my @f = split '/',$string; my $qr = ($f[-1] eq 'i') ? qr/$f[1]/i : qr/$f[1]/; my $cursor = $collection->query( { name=> $qr });
      poj

        that could work in general, but the input is dynamic, and someone might put in an escaped slash, i.e. \/

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1208735]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (5)
As of 2021-04-11 04:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?