【问题标题】:Regex: Extract url parameters正则表达式:提取 url 参数
【发布时间】:2018-11-28 19:59:37
【问题描述】:

我正在寻找一个正则表达式来提取 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

【问题讨论】:

  • 根据您使用的语言,您可能已经可以在没有正则表达式的情况下使用它。
  • 如果lookbehind可用,则使用:(?<=&|^)(?i)key(?-i)=[^&]*
  • 哦,很好,我不知道往后看

标签: regex url url-parameters


【解决方案1】:

URL 解析例程可用于多种语言,建议使用它们作为首选。

但是,如果您出于某种原因想使用正则表达式,则可以使用以下后向正则表达式:

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

这里的(?&lt;=&amp;|^) 是一个后向断言,它确保在匹配key 之前存在&amp; 或行开头。

RegEx Demo

【讨论】:

  • (?-i) 可以安全删除。 [^&amp;] 不受不区分大小写修饰符的影响。
  • 是的,同意 Wiktor。
猜你喜欢
  • 1970-01-01
  • 2011-08-06
  • 1970-01-01
  • 2021-12-16
  • 1970-01-01
  • 2015-10-21
相关资源
最近更新 更多