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

如何使用单个正则表达式匹配四种指定的字符串变体?

正则表达式匹配方案

可行正则表达式

^[A-Z]+(?:_[A-Z]+)*$

匹配逻辑拆解

  • ^ 与 $ 锚定字符串的首尾,确保整个字符串完全匹配规则,不会出现部分匹配的情况
  • [A-Z]+ 匹配一段由一个或多个大写字母组成的序列(对应ABC、DEF这类独立段)
  • (?:_[A-Z]+)* 是一个非捕获分组,* 表示该分组可出现0次或多次:
    • 分组出现0次时,匹配第一种变体ABC
    • 出现1次时,匹配ABC_DEF
    • 出现2次时,匹配ABC_DEF_GHI
    • 出现3次时,匹配ABC_DEF_GHI_JKL

原表达式问题说明

你之前尝试的[A-Z]+(_[A-Z]?+)存在两处问题:

  1. 缺少首尾锚定,可能匹配到更长字符串的片段
  2. _[A-Z]?+中的?表示仅匹配0或1个大写字母,无法满足DEF、GHI这类多字母片段的需求,同时也没有允许该组合重复多次的逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 20:42:03