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

如何调整正则表达式以限制'-'和'/'的出现次数?

正则表达式优化方案

需求背景

当前使用的正则表达式:

\b(?:[A-Z\d]+[\/\-])+[A-Z\d]+\b

可匹配目标内容,但会误捕不符合要求的结果。需修改为满足以下限制:

  • 允许匹配-,但出现次数不超过5次
  • 允许匹配/,但出现次数不超过1次

匹配示例

符合要求的内容:

AIR-CT2504-50-K9
1000BASE-T
ISR4451-X-SEC/K9

不符合要求的内容:

0/1/10/5/50
2B108-250A-2B-2B-2B-250A-2B-2B-2B-250A-2B-2B
2022/10/28

优化后的正则表达式

\b(?=[^\/]*\/?[^\/]*$)(?=(?:[^-]*-){0,5}[^-]*$)(?:[A-Z\d]+[\/\-])+[A-Z\d]+\b

表达式解析

  • \b:单词边界,确保匹配完整的独立单词
  • (?=[^\/]*\/?[^\/]*$):正向预查,限制整个匹配内容中/的出现次数≤1
  • (?=(?:[^-]*-){0,5}[^-]*$):正向预查,限制整个匹配内容中-的出现次数≤5
  • (?:[A-Z\d]+[\/\-])+:匹配由大写字母/数字组成的片段,后跟-或/的组合,可重复多次
  • [A-Z\d]+:匹配结尾的大写字母/数字片段,确保内容以有效字符收尾

验证结果

  • 符合要求的示例均能被正确匹配
  • 包含超过1个/或超过5个-的内容会被排除

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 20:41:08