gpt4 book ai didi

java - 正则表达式匹配 17 个大写字符

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:38:12 25 4
gpt4 key购买 nike

在java中,哪种Regex更适合匹配17个字符长的字符串,全部大写且不包括字母I(i),O(o)或Q(q)。

我已经尝试了以下,但它仍然匹配 I、O 和 Q(含)甚至多于或少于 17

^[A-Z]+

我该如何改进?

最佳答案

您的方法存在 3 个问题:

  1. 您正在匹配任何 大写英文字符。要解决此问题,您需要将 [A-Z] 替换为 [A-HJ-NPR-Z]。这应该匹配从 AH,从 JN,字母 PRZ

  2. 第二个问题是您正在匹配一个或多个(由于+)。要恰好匹配 17 个字符,+ 需要变为 {17}

  3. 第 1 步和第 2 步将简单地匹配包含规定范围内的 17 个大写字母的任何字符串。为确保字符串不包含任何其他内容,请在表达式的开头添加 ^ 并在表达式的末尾添加 $。这将确保该字符串不是由其他任何东西组成的。

因此,您的表达式应如下所示:^[A-HJ-NPR-Z]{17}$。正则表达式的示例可用 here .

关于java - 正则表达式匹配 17 个大写字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32006463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com