gpt4 book ai didi

c# - 正则表达式在 C# 中匹配 2 个字母加 6 位数字

转载 作者:行者123 更新时间:2023-12-02 21:44:00 24 4
gpt4 key购买 nike

我需要一个正则表达式来匹配此模式(使用C#)

我的匹配必须以 2 个字母字符( MA 或 CA )开头,并且必须以 6 或 7 个数字结尾;例如CA123456或MA123456或MA1234567

这是我尝试过的:

Regex.IsMatch(StringInput, @"^[MA]{2}|^[CA]{2}\d{6,7}?")) 

不幸的是,它似乎与大多数东西匹配

最佳答案

尝试这个模式:

^[MC]A\d{6,7}$

前导字符类 ([MC]) 需要在字符串开头使用 MC。之后,\d{6,7} 匹配 6 或 7 位数字。


您的模式的问题是第一个替代方案:^[MA]{2} 匹配以 AAAM 开头的任何字符串、MAMM。它根本不需要任何后续数字。由于正则表达式引擎可以匹配像 AA1234567 这样的字符串的第一个替代项(匹配子字符串 AA),因此它甚至不会尝试查找另一个匹配项。这就是原因

it seems to match most anything.

关于c# - 正则表达式在 C# 中匹配 2 个字母加 6 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19891660/

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