mt2k has asked for the wisdom of the Perl Monks concerning the following question:
http://www.domain.com/hi.html?a=b&c=d
Now say I want to remove everything from the '?' on, to get:
http://www.domain.com/hi.html
After enough frustration, I tested the following regex on the same URL with a HREF NAME ending the URL instead of a query string. Yep, I made it look SO obvious as to what I was trying to do. I didn't use anything fancy, and this could look a lot better. I even added the /gs for extra strength!
$url =~ s/(.*?)#(.*?)/$1/gs;
Now guess what? That works fine... when it is a '#' instead of a '?'. Now, if that above code works, shouldn't the following regex work for a URL with a query string attached?:
$url =~ s/(.*?)\?(.*?)/$1/gs;
See look, I even backslashed the '?' there... and guess what? This doesn't work now! I also tried removing the backslash, which (obviously) did not help the situation one bit.
So am I missing something here or is this some kind of issue with the regex engine? Many thanks ahead of time...
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Regex Bug?
by chromatic (Archbishop) on May 26, 2002 at 06:34 UTC | |
(jeffa) Re: Regex Bug?
by jeffa (Bishop) on May 26, 2002 at 07:27 UTC | |
Re: Regex Bug?
by graff (Chancellor) on May 26, 2002 at 05:58 UTC | |
Re: Regex Bug?
by I0 (Priest) on May 26, 2002 at 15:20 UTC |