Regex-包括冒号

本文关键字:包括冒 Regex- | 更新日期: 2023-09-27 17:58:46

我想使用Regex来匹配我收到的字符串的前十二个字符。我正在接收字符串,我想验证要丢弃哪个字符串和保留哪个字符串。一旦我验证了字符串,我就会根据字符串中的信息实例化一个对象。

在我的例子中,我想检查一个特定的字符(a)、八个数字、一个冒号,然后是B|C后面跟着一个D。这个模式标识了我想要使用的字符串。然而,下面的模式不匹配,我怀疑这是由于冒号

if(Regex.IsMatch(my_string,"A[0-9]{8,}:(B|C)D"))

我希望它匹配,其中零是任何数字0-9,B可以与C互换。我需要验证冒号是否存在,因为在某些情况下字符串可能格式不正确。

应通过Regex模式的字符示例;

A00000000:BD

Regex-包括冒号

正则表达式应该可以工作。几个建议:

  • CCD_ 1匹配8个或更多个字符
  • 整个正则表达式还将匹配较长字符串(即"XYZA12345678:CDEFG")的子字符串。如果您不想这样,请锚定您的正则表达式
  • (B|C)可替换为[BC]

所以试试这个:

if (Regex.IsMatch(my_string,"^A[0-9]{8}:[BC]D"))