在我们的应用程序中,我们需要检查给定字符串是否只有数字且长度为8 。我们如何在正则表达式中指定这个条件?
答案 0 :(得分:2)
bool isValid = Regex.IsMatch("YourInput", @"^\d{8}$");
答案 1 :(得分:2)
写这个正则表达式真的很难吗? 3个人以3种方式做出了部分错误的回应。这清楚地表明为什么不应该使用正则表达式!因为你可以思考你知道它们是如何工作的,然后它们会咬你的^a([a-z])\1$
(对于知道正则表达式的人来说这是一个笑话:-))。
正则表达式为^[0-9]{8}$
。您在字符串的开头和结尾处使用^
和$
锚定正则表达式。您不使用花哨的\d
,因为.NET Regex认为它匹配09E6 0 BENGALI DIGIT ZERO(非欧洲数字),除非您激活其ECMA模式(RegexOptions.ECMAScript
)。 \d
的Javascript只表示0-9位数字。如果你真的想要使用\d
,请记住转义\
或在字符串(@"something"
)之前放置逐字字符串文字符号
答案 2 :(得分:1)
^ [0-9] {8} $
简单干净。你设置了可接受的值范围,在[s]和{s里面的命中数。 X和$指定字符串的开头和结尾,以确保您不匹配包含8个数字的字符串部分,如Xanatos所说。
答案 3 :(得分:0)