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

如何编写正则表达式匹配第三段含boomer或millenial的路径

符合需求的正则表达式

第三段完全匹配boomer/millenial(与示例规则一致)

^/content/au/(?:boomer|millenial)(?:/.*)?$

表达式逻辑拆分

  • ^:匹配字符串的起始位置,避免前缀出现多余字符
  • /content/au/:精确匹配固定的前两级路径
  • (?:boomer|millenial):匹配第三级路径只能是boomer或者millenial,非捕获分组不会生成额外的冗余分组结果
  • (?:/.*)?:匹配第三级之后的可选路径,?标识第三级之后可以没有内容,.*匹配后续所有合法路径字符
  • $:匹配字符串的结束位置,避免部分匹配导致的误判

匹配验证

匹配成功的路径

  • /content/au/boomer
  • /content/au/boomer/male/31
  • /content/au/millenial/female/29/M
  • /content/au/millenial/male/18/UM

匹配失败的路径

  • /content/au:缺少第三级路径
  • /content/nz/millenial/male/18/UM:第二级路径不是au
  • /content/au/genz/male:第三级路径不是指定值

补充:第三段包含boomer/millenial的场景

如果需求是第三段只要包含这两个字符串即可(比如/content/au/boomer123也可匹配),可以改用以下表达式:

^/content/au/[^/]*(?:boomer|millenial)[^/]*(?:/.*)?$

原正则问题说明

你之前编写的^/content/au/(?![^/]*/(?:millenial|boomer))([^/]*)使用了负向前瞻?!,逻辑是排除包含目标词的路径,和需求完全相反,同时也没有限制目标词必须出现在第三段,因此无法达到预期效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:45:04