+ -
当前位置:首页 → 问答吧 → 一个简单的正则问题,\d{11}不是恰好出现11个数字吗?

一个简单的正则问题,\d{11}不是恰好出现11个数字吗?

时间:2011-12-21

来源:互联网

我看MSDN上说,正则表达式\d{11}的意思是刚好11个数字出现。但是我发现,如果字符串是11位以上,依然可以匹配通过,请问是为什么?

C# code

string patterm = @"\d{11}";
Regex re = new Regex(patterm);
if (re.IsMatch("123456789012345")
 {
    //TODO
 }
else
{
    //Error
}



按我的理解,"123456789012345" 应该是非法的,但是程序却认为是合法,请问是为什么呢?

作者: hellenismsssss   发布时间: 2011-12-21

你这是包含11个数字字符。。。

改为:

string patterm = @"^\d{11}$";

作者: fangxinggood   发布时间: 2011-12-21

1楼的MM 正解

你目前的正则\d{11}: 只要字符中含有11个数字 就会匹配
而 ^\d{11}$ 则只会匹配11个数字的字符串

作者: q107770540   发布时间: 2011-12-21

+1
引用 1 楼 fangxinggood 的回复:

你这是包含11个数字字符。。。

改为:

string patterm = @"^\d{11}$";

作者: echoya35   发布时间: 2011-12-21

相关阅读 更多