1

为什么即使“aaa”连续不包含 12 位数字,下面的代码也会向 groupCollection 插入一个项目?

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

我正在尝试检查一个字符串是否连续包含 12 个数字,如下所示:

_def_201208141238_aaaa

4

3 回答 3

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


if(match.Success)
{
    // string contains 12 digits in a row
}
于 2013-04-21T07:56:21.300 回答
0

Match方法总是需要返回一些东西。success 它返回带有value的匹配对象false。我猜你想使用Matches并获得MatchCollection. 在这种情况下,您应该得到 0 个匹配项。

于 2013-04-21T07:58:30.857 回答
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
            }
于 2013-04-21T08:06:33.913 回答