in reply to Need help with tricky regex creation

It sounds like you're just interested in the regex stuff? Can you do this?--
$site = "Bluff Park"; lc($site); # converts to lowercase $site =~ s/\s/_/g; # substitutes spaces with _ foreach (@entries) { if (/^~$site/) { # have a match! } }

if you don't want to lowercase (lc) the expr, you could just ignore case in the regex:
/^~$site/i
Hope that helps.

Replies are listed 'Best First'.
Re: Re: Need help with tricky regex creation
by S_Shrum (Pilgrim) on May 16, 2002 at 00:02 UTC

    I think everyone is missing the finer detail...

    The regex isn't going to be written in a script...it's being passed via CGI to be handled by a perl script...I am utilizing the RLIKE ability of the SQL::Statement that allows for passing Perl regex SQL WHERE expressions:

         http://myserver.com/cgi-bin/myscript.pl?where=Site RLIKE '^bluff'

    This works to return all Site entries that begin with '~bluff'. Building on this idea:

         ...myscript.pl?where=Site RLIKE 'm/^~Bluff Park/i'

    The sample above seems (logically, based on my limited XP with regex) like it would almost work but it does not handle the SPACE to UNDERSCORE substitutions. It looks for matches begining with the defined text string and ignores case (the '/i', if I am reading the camel book right).

    So what I need to know is if there a way to include a s/// call in the regex expression or via some other function, get the SPACES to be replaced with UNDERSCORES?

    TIA

    ======================
    Sean Shrum
    http://www.shrum.net

      Is this the part where I get to say Danger Will Robinson?

      Don't forget to untaint that or you are going to hurt yourself. Passing arbitrary user input into SQL is like eating things given to you by random strangers. Don't do it.

        Arbitrary user input! I would never! I would trust my life to a Goldfish before I accepted unvalidated 'ab'user input!

        The data string is constructed by me programmatically so the formatting of this argument will be under my control. Even if somebody decided to mess with it and constructed a incorrect call, it would just return 0 results or fail (hey, they asked for it).

        ======================
        Sean Shrum
        http://www.shrum.net