正则表达式不起作用

时间:2013-04-21 07:48:13

标签: c# .net regex

为什么下面的代码会将一个项目插入到groupCollection中,即使" aaa"连续不包含12位数?

var groupCollection = Regex.Match("aaa", "\\d{12}").Groups

我试图检查一个字符串是否包含12行数字,如下所示:

_def_201208141238_aaaa

3 个答案:

答案 0 :(得分:3)

var match=Regex.Match("_def_201208141238_aaaa", "\\d{12}");


if(match.Success)
{
    // string contains 12 digits in a row
}

答案 1 :(得分:0)

Match方法总是需要返回一些东西。它返回带有successfalse的匹配对象。我想您想使用Matches并获取MatchCollection。在这种情况下,你应该获得0场比赛。

答案 2 :(得分:0)

            // Option 1
            // If you are sure there could be only one match then you can check this boolean flag.
            var isSuccess = Regex.IsMatch("aaa", "\\d{12}");

            // Option 2
            // There could be multiple matches.
            var matchCollection = Regex.Matches("aaa", "\\d{12}");

            foreach (Match m in matchCollection)
            {
                // Process your code for each match
            }