Javascript 正则表达式[var1::var2]?

Javascript 正则表达式[var1::var2]?,javascript,regex,Javascript,Regex,所以我有这样的字符串格式的标签 [var1::var2]。 Var1可以是任意长度和任意字符,var2是一个链接,所以http/https。 如何做到这一点,并将第一个var设置为$1,另一个设置为$2?类似的操作应该可以: > '[var1::var2]'.match(/\[(.*)::(.*)\]/) ["[var1::var2]", "var1", "var2"] 我已经比较了几个选项。最好的选择似乎是将String.match函数与lazy匹配正则表达式一起使用 '[var1::

所以我有这样的字符串格式的标签 [var1::var2]。 Var1可以是任意长度和任意字符,var2是一个链接,所以http/https。
如何做到这一点,并将第一个var设置为$1,另一个设置为$2?

类似的操作应该可以:

> '[var1::var2]'.match(/\[(.*)::(.*)\]/)
["[var1::var2]", "var1", "var2"]

我已经比较了几个选项。最好的选择似乎是将
String.match
函数与lazy匹配正则表达式一起使用

'[var1::var2]'.match(/^\[(.*?)::(.*?)\]$/);

您可能应该使用惰性匹配,而不是贪婪匹配。