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

求仅接受分号分隔大写字母(A-Z)的正则表达式

正则表达式:匹配分号分隔的大写字母序列

你的思路已经很贴近需求了,只差一个关键的锚点就能实现严格匹配。正确的正则表达式是:

^[A-Z]+(;[A-Z]+)*$

为什么这个正则能满足需求?

我们拆解一下每个部分的作用:

  • ^:锚定字符串的开头,确保整个字符串从大写字母开始,不会有前置的无关字符
  • [A-Z]+:匹配一个或多个大写英文字母,作为序列的起始项
  • (;[A-Z]+)*:匹配零次或多次「分号+一个/多个大写字母」的组合,支持任意数量的分号分隔项
  • $:锚定字符串的结尾,确保字符串结束后没有多余的字符

验证你的示例

所有你列出的符合要求的内容都能被这个正则匹配:

  • A ✅ 单个大写字母
  • A;B ✅ 两个分号分隔的大写字母
  • A;B;C;F ✅ 多个分号分隔项
  • A;E;Q ✅ 同上
  • A;YY ✅ 分号后支持多个连续大写字母

说说你原来正则的小问题

你之前尝试的[A-Z]+(;[A-Z]+)*$缺少了开头的^锚点,这会导致它匹配像XA;B或者123A;C这类带前置无关字符的字符串——因为它只检查了结尾是否符合规则,却没限制开头必须是大写字母。加上^之后,就能实现仅允许符合规则的内容通过匹配,其余内容全部排除的要求了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:41:51