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

正则表达式扩展需求:合并特定键匹配与含@值的动态键匹配

解决URL键值对匹配的正则表达式扩展需求

你需要将原有正则扩展为同时满足两类匹配规则:

  1. 匹配键名为name、identify、test的键值对
  2. 匹配值中包含@符号的任意键值对

最终正则表达式

(?:(name|identify|test)(?:=|%3D)[^&]*|(?:[^&=]+)(?:=|%3D)[^&]*@[^&]*)

规则拆解

  • (?:name|identify|test)(?:=|%3D)[^&]*:保留原有匹配逻辑,针对指定键名匹配完整键值对,(?:...)为非捕获分组,减少性能消耗
  • |:逻辑或运算符,分隔两组独立匹配规则
  • (?:[^&=]+)(?:=|%3D)[^&]*@[^&]*:匹配值含@的任意键值对:
    • (?:[^&=]+):匹配任意非&、非=的键名,避免误匹配URL路径或分隔符
    • (?:=|%3D):匹配原义等号或URL编码后的等号%3D
    • [^&]*@[^&]*:匹配包含@的完整值内容,直到下一个&分隔符结束

测试验证

针对输入URL:

https://www.me.com/?name=bob&identify=bob1&test=email@me.com&validKey=validValue&badKey=test2@test.com

匹配结果如下:

  • name=bob
  • identify=bob1
  • test=email@me.com
  • badKey=test2@test.com

内容的提问来源于stack exchange,提问作者Jacques Ramsden

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 21:01:00