You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何合并正则表达式匹配空格至空格或问号间的URL内容?

正则表达式合并问题解决方法
  • 你之前的合并写法\s(?P<test>.*)[\?|\s]存在两个核心问题:

    1. 字符集[\?|\s]里的|是普通匹配字符,而非逻辑或运算符,它会错误匹配|符号本身,无法实现空格/问号二选一的判断
    2. .*是贪婪匹配模式,会尽可能捕获更多字符,导致把结尾的空格/问号甚至后续无关内容也纳入捕获范围
  • 修正后的正则表达式:

    \s(?P<test>[^\s?]+)(?:\s|\?)
    

    各部分作用说明:

    • \s:匹配URL开头的前置空格
    • (?P<test>[^\s?]+):命名捕获组test,仅匹配除空格和问号之外的字符,从根源避免贪婪匹配过度
    • (?:\s|\?):非捕获组,通过逻辑或|匹配URL结尾的空格或问号,实现你需要的两种结尾场景
  • 测试验证:

    • 对示例 "GET /test/pageone.do HTTP/1.1",捕获结果为 /test/pageone.do
    • 对示例 "GET /test/pagetwo.do?test1234 HTTP/1.1",捕获结果为 /test/pagetwo.do

内容的提问来源于stack exchange,提问作者Mr Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 00:18:11