gpt4 book ai didi

带有查询字符串的 URL 的正则表达式

转载 作者:行者123 更新时间:2023-12-02 08:26:50 25 4
gpt4 key购买 nike

我正在尝试创建一个正则表达式以用作 fiddler 中的规则。我不太擅长正则表达式。

这个正则表达式:

http://myServer:28020/MyService/ItemWebService.json?([a-zA-Z]+)

匹配以下网址:
http://myServer:28020/MyService/ItemWebService.json?action=keywordSearch&username=StockOnHandPortlet&sessionId=2H7Rr9kCWPgIZfrxQiDHKp0&keywords=blue&itemStatus=A

到现在为止还挺好。但是为什么当我尝试这个正则表达式时:
http://myServer:28020/MyService/ItemWebService.json?action=keywordSearch([a-zA-Z]+)

它与上面的 URL 不匹配。为什么会这样?

最佳答案

在正则表达式中,你需要转义 .?在字符类之外。

所以,这足以匹配 URL 本身:

http://myServer:28020/MyService/ItemWebService\.json

带有查询字符串的 URL 可以匹配
http://myServer:28020/MyService/ItemWebService\.json\??(?:&?[^=&]*=[^=&]*)*

demo

说明 :
  • http://myServer:28020/MyService/ItemWebService\.json - 匹配我们需要转义的基本 URL .字面匹配
  • \?? - 匹配 0 或 1(由于 ? 量词)文字 ?
  • (?:&?[^=&]*=[^=&]*)* - 匹配 * 的 0 个或更多(由于 &?[^=&]*=[^=&]* )序列:
  • &? - 0 或 1 & (无需转义)
  • [^=&]* - 除 = 之外的 0 个或更多字符和 &
  • = - n 等号
  • [^=&]* - 除 = 之外的 0 个或更多字符和 &

  • 如果要匹配第一个查询参数=值设置为 action=keywordSearch 的 URL ,您可以使用 following regex :
    http://myServer:28020/MyService/ItemWebService\.json\?action=keywordSearch(?:&?[^=&]*=[^=&]*)*

    关于带有查询字符串的 URL 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31367267/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com