我根本没有使用过正则表达式,因此我很难进行故障排除。我希望正则表达式仅在包含的字符串为全数字时才匹配;但是在下面的两个示例中,它匹配包含所有数字和等号(例如“ 1234 = 4321”)的字符串。我敢肯定有一种方法可以改变这种行为,但是正如我所说,我从未真正对正则表达式做过很多事情。
string compare = "1234=4321"; Regex regex = new Regex(@"[\d]"); if (regex.IsMatch(compare)) { //true } regex = new Regex("[0-9]"); if (regex.IsMatch(compare)) { //true }
万一重要,我使用的是C#和.NET2.0。
使用开始和结束锚点。
Regex regex = new Regex(@"^\d$");
使用"^\d+$",如果你需要匹配一个以上的数字。
"^\d+$"
请注意,"\d"它将[0-9]与其他数字字符(如东部阿拉伯数字)匹配٠١٢٣٤٥٦٧٨٩。用于"^[0-9]+$"将匹配限制为仅阿拉伯数字0-9。
"\d"
[0-9]
٠١٢٣٤٥٦٧٨٩
"^[0-9]+$"
如果您需要包含除数字以外的任何数字表示形式(例如入门的十进制值),请参阅@tchrist的综合指南,该指南以正则表达式解析数字。