我想使用正则表达式来匹配我收到的字符串的前12个字符。我收到了字符串,我想验证哪个字符串要丢弃以及要保留哪个字符串。一旦我验证了字符串,我就会根据字符串中的信息实例化一个对象。
在我的例子中,我想检查一个特定字符(A),八个数字,一个冒号,然后检查B | C后跟一个D.这个模式标识了一个我想要使用的字符串。但是,以下模式无法匹配,我怀疑这是由于冒号
if(Regex.IsMatch(my_string,"A[0-9]{8,}:(B|C)D"))
我想要匹配,其中零是任意数字0-9并且B可以与C互换。我需要验证冒号是否存在,因为有些情况下字符串可能格格不入。< / p>
应传递正则表达式模式的字符示例;
A00000000:BD
答案 0 :(得分:3)
正则表达式应该有效。一些建议:
{8,}
匹配8个或更多字符。"XYZA12345678:CDEFG"
)。如果您不想这样,请锚定您的正则表达式。(B|C)
可以替换为[BC]
所以试试这个:
if (Regex.IsMatch(my_string,"^A[0-9]{8}:[BC]D"))