I was using this to test my regular expression:


And tried to match

http://www.website.com/index.php?=other things

to pull out the index.php portion

We've all seen

^(.*)/index.php or some variant, but it never works because .* is greedy and doesn't stop before getting through index.php.

I tried the negative assertion
^(.*)(?!index.php), but again .* was too greedy. The fact that this failed was really surprising because when I just did /(?!index.php), every slash matched exceopt the one before index.php. You'd think using the * would help that along.

Anyway, if you have any ideas, I'd appreciate it