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

Nginx正则匹配优化:合并捕获组并支持逗号分隔同模式URI

解决方案

修改后的Nginx Location正则配置

location ~ "^/live/midrate/v1/rates/((?:[A-Z]{6}-(?:SPT|ON|W[1-3]|M[1-9][0-9]?|Y[2-5])-[DO]-[ON])(?:,(?:[A-Z]{6}-(?:SPT|ON|W[1-3]|M[1-9][0-9]?|Y[2-5])-[DO]-[ON]))*)$"

关键调整说明

  1. 仅保留1个捕获组:
    将所有子规则用非捕获组(?:...)包裹,只在最外层保留一对捕获括号(...)。这样整个匹配的目标字符串(单个或多个逗号分隔项)会被唯一的捕获组1捕获,不会产生多余的空捕获组。

  2. 支持逗号分隔的多格式URI:

    • 先定义单个合法格式的非捕获组:(?:[A-Z]{6}-(?:SPT|ON|W[1-3]|M[1-9][0-9]?|Y[2-5])-[DO]-[ON])
    • 追加(?:,(?:单个格式组))*,其中*允许0次或多次重复,实现匹配1个或多个以逗号分隔的同格式项。

匹配结果验证

  • 单个请求URI:live/midrate/v1/rates/GBPUSD-SPT-D-O
    匹配结果:Match found Capture Groups 1: GBPUSD-SPT-D-O
  • 多逗号分隔请求URI:live/midrate/v1/rates/GBPUSD-SPT-D-O,EURUSD-M1-D-O,EURGBP-SPT-O-O
    匹配结果:Match found Capture Groups 1: GBPUSD-SPT-D-O,EURUSD-M1-D-O,EURGBP-SPT-O-O

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 22:10:18