为什么即使“aaa”连续不包含 12 位数字,下面的代码也会向 groupCollection 插入一个项目?
var groupCollection = Regex.Match("aaa", "\\d{12}").Groups
我正在尝试检查一个字符串是否连续包含 12 个数字,如下所示:
_def_201208141238_aaaa
var match=Regex.Match("_def_201208141238_aaaa", "\\d{12}");
if(match.Success)
{
// string contains 12 digits in a row
}
该Match
方法总是需要返回一些东西。success
它返回带有value的匹配对象false
。我猜你想使用Matches
并获得MatchCollection
. 在这种情况下,您应该得到 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
}