gpt4 book ai didi

c++ - 最大字符限制条件和最小字符放置条件

转载 作者:行者123 更新时间:2023-11-28 07:31:42 36 4
gpt4 key购买 nike

我正在尝试使用正则表达式进行以下匹配。

  1. 输入的字符应为大写字母,长度为 2-10 个字符。
  2. 如果是 2 个字符,则只允许第一个或第二个不包含 A、E、I、O、U 的那 2 个字符。

我试过:

[B-DF-HJ-NP-TV-XZ]{2,10}

它运行良好,但我不太确定这是否是这里执行正则表达式的正确且最有效的方法。

最佳答案

Jerry 的回答归功于他:

^(?:(?![AEIOU])[A-Z]{2}|[A-Z]{3,10})$

解释:

^ =“字符串开始”,$ =“字符串结束”。这对于防止错误匹配很有用(例如,11 个字符输入的 10 个字符匹配,或“AMRXYZ”中的“MR”匹配)。

(?![AEIOU]) 是字符 A、E、I、O 和 U 的否定前瞻 - 即,如果文本包含元音,正则表达式将不匹配。这仅适用于条件“OR”(|) 正则表达式的前半部分,因此在较长的匹配中仍然允许使用元音。

根据您在上述问题中已经展示的对正则表达式的理解,其余部分相当明显。

关于c++ - 最大字符限制条件和最小字符放置条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17570185/

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