正则表达式:提取网址参数

时间:2018-06-19 19:12:02

标签: regex url url-parameters

我正在寻找一个正则表达式来提取URL参数。我当前的解决方案是:

(?i)key(?-i)=([^&]+)

但是在下面的某些测试中它失败了。

我要匹配的行

cool=13&nice=zz&key=value&polo=0
Key=value&cool=13&nice=zz&polo=0
cool=13&nice=zz&polo=0&key=value

我不想匹配的行

cool=13&nice=zz&myKey=value&polo=0

1 个答案:

答案 0 :(得分:2)

URL解析例程有许多种语言可用,建议将其作为首选。

但是,如果出于某种原因要使用正则表达式,可以使用以下隐藏式正则表达式:

(?<=&|^)(?i)key(?-i)=[^&]*

此处(?<=&|^)是一个后置断言,可确保在匹配&之前存在key或行首。

RegEx Demo