As I guess, you get an URL as a second parameter.
It will be really not pretty easy to make a correct regex which will include all possible URL values.
[test: test1: http://localhost?test=[1,2]]
[test: test1: http://localhost?test=[1,2]&somekey=somevalue]
[test: test1: http://localhost?test=[1,2]&answers=[1,2,3]]
You tried to find such regexp yourself. You came here, asked this question and spend so much of your expensive time trying to find a proper regular expression.
And even if you now find such regular expression, did you really need it?
As a popular quote says:
Some people, when confronted with a problem, think "I know, I'll use regular expressions."
Now they have two problems.
It is up to your choice, I can only recommend but there is an easy, fast way which works with any data given in an input:
var str = "[test: test1: http://localhost?test=[1,2]]";
str = str.substring(1, str.length - 1);
var vals = str.split(': ');
No regular expressions, no headache. I don't want to say "don't use regex", I want to say "don't use it when it is not required" :)