C#正则表达式忽略末尾的额外数据

时间:2012-12-14 19:20:21

标签: c# regex

我正在尝试在C#中构建一个具有以下特征的正则表达式。

  1. 字符串以零个或多个数字开头
  2. 后跟字母“ABC”
  3. 后面是字符串
  4. 的结尾

    我试过

    \d?ABC
    

    但仍匹配ZABCABCD2ZABC等内容。

    任何指针?

1 个答案:

答案 0 :(得分:10)

您需要anchors来表示字符串的开头和结尾:

^\d?ABC$

此外,?表示0或1. 0或更多是*

^\d*ABC$

另请注意,根据.NET Culture中的活动\d,可以将其解释为“任何Unicode数字字符”。如果你真的只想要ASCII数字使用一个字符类:

^[0-9]*ABC$

该网站上的tutorial是学习正则表达式的绝佳资源。