[thelist] Regex Riddle
Jason Handby
jason.handby at corestar.co.uk
Sat Aug 28 18:39:06 CDT 2010
Hi Frank,
> Essentially, what I want to do is to replace ampersands ( & and &)
> and
> equal signs (=) with a forward slash (/). So essentially, I'm going
> from
> index.cfm?foo=bar&poo=bear to index.cfm?foo/bar/poo/bear
>
> My regexes mostly match the overall string, but capture incorrectly to
> one
> degree or another, the backreferences are all wrong.
>
> Below are my three most (dubiously) sucessful regexes, the replace
> test I
> use just to check out how it all parses, and some sample data to be
> matched.
>
> Number 3 is probably the closes, but I can't seem to figure out how to
> get
> (\w+)=(\w+)([&|&]*) to be greedy until the end of the query
string.
>
> How would you approach this problem?
Try this.
Regular expression ([^?&=]*)(?:&[^a]|=|&)
Replacement expression \1/
Jason
More information about the thelist
mailing list