I need to pull a variable out of a URL or get an empty string if that variable is not present.
Pseudo code:
String foo = "http://abcdefg.hij.klmnop.com/a/b/c.file?foo=123&zoo=panda";
String bar = "http://abcdefg.hij.klmnop.com/a/b/c.file";
when I run my regex I want to get 123 in the first case and empty string in the second.
I’m trying this as my replace .*?foo=(.*?)&?.*
replacing this with $1 but that’s not working when foo= isn’t present.
I can’t just do a match, it has to be a replace.
You can try this:
If there are parameters and the first parameter is named “foo”, its value will be captured in group #1. If there are no parameters the regex will still succeed, but I can’t predict what will happen when you access the capturing group. Some possibilities:
This regex matches the sample strings you provided, but it won’t work if there’s a parameter list that doesn’t include “foo”, or if “foo” is not the first parameter. Those options can be accommodated too, assuming the capturing group thing works.