When I'm having trouble with a regex, I try to use as many
different correct variations as I can, and see if any of them
work. This helps me to rule out bad escaping and the like
as possible causes.
You might try the following:
/\?id\+(\d+)/
/.id.(\d+)/
/(/d{7})/
/.id.([^ ]+)/
and whatever else you can think of. Try reducing it to the
simplest possible regex you can think of that will work, even
if you know it won't work in the general case, or even if it
isn't as robust as you want it to be.
If not of this helps, it's time to run the debugger on your
code and make sure the string is getting read in as you think
it should be.
Good Luck,
Mark