Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re^2: Regular Expression Help

by dhackbar (Initiate)
on Nov 16, 2005 at 13:18 UTC ( [id://509023]=note: print w/replies, xml ) Need Help??


in reply to Re: Regular Expression Help
in thread Regular Expression Help

The one problem I have is that the $check_str is being provided as an input to my routine from a different application, so I don't have control over the syntax :(

I'll see if I can manipulate the check_str once it's in my code though with those suggestions.

Derek

Replies are listed 'Best First'.
Re^3: Regular Expression Help
by Eimi Metamorphoumai (Deacon) on Nov 16, 2005 at 15:54 UTC
    You'll have to figure out exactly what syntax it's using, since it's different from the normal regexp syntax. Here's a quick hack based on a guess of what you want, but it may not be robust.
    my $full_text = "(7001) - This is some text"; my $check_str = "([7000|7001|7002|7003]) - This"; $check_str =~ s/([()])/\\$1/g; $check_str =~ s/\[/(?:/g; $check_str =~ s/\]/)/g; if ($full_text =~ /$check_str/) { print "full_text has the check_str\n"; }
Re^3: Regular Expression Help
by GrandFather (Saint) on Nov 16, 2005 at 19:37 UTC

    In that case (and assuming you have no control over the format) you have a problem of a whole different order of complexity. What you need to achieve in that case is to map the input syntax to Perl's regex syntax and that is likely not a trivial task.

    At the very least you will require a formal description of the input syntax and, from that, you will have to work out how to achieve the same results using Perl's regex facilities. Watch out along the way for security issues. For example if the user can introduce (?{die}) (for example) into the search string and that gets passed through to the regex, unfortunate things may happen :).


    DWIM is Perl's answer to Gödel

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (5)
As of 2024-04-25 23:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found