【发布时间】:2018-03-07 14:47:10
【问题描述】:
我需要排除以下链接中的参数:
这是我目前的正则表达式,虽然它匹配但没有被排除:
(\?*[?&]l\[\])|(\?*[?&]l\[[0-9]\]=)
(\?*[?&]sort=)
(\?*[?&]psize=)
(\?*[?&]pp_old=)
l[1] 被成功限制,但其他没有。
【问题讨论】:
-
您需要排除整个查询字符串还是仅排除某些参数?
-
想要的输出是什么?
-
您使用哪种语言?另外,你从来没有提到你想用
page=1做什么? -
您在正则表达式子模式之间缺少
|。此外,您可能还没有激活x(忽略空格)标志。您可能想改用(?<=[?&])(?:sort|psize|pp_old|l\[\d*\])=之类的东西。它更简单并提高了性能,而不是让每个选项的引擎回溯。您现有的正则表达式将对您的示例执行 1206 步(鉴于我指定的更改),而我的仅需要 230 步。 -
我使用的语言是 PCRE。页= 1?需要保留,所以我不想排除它。我想排除任何包含我列出的参数之一的请求/URL
标签: regex parameters pcre