我想要检测IBAN帐户在zero 0中是否全部为数字,例如
00 0000 000 00 0000000000。
所以我构建了这个正则表达式模式来检查它:
^(0\s){0,25}$
参数是:检查输入字符串是否只有空格或零。
但这是行不通的。有什么帮助吗?谢谢。
发布于 2014-06-20 01:23:18
下面是一个非正则表达式的示例。
string input = "00 0000 000 00 0000000000";
bool isNotAllZeros = input
.Where(x => char.IsDigit(x))
.Any(x => x != '0');它说:“获取字符串中的所有数字,看看是否有不是‘0’的数字。”
另一种方法(避免双重否定),使用All,这在阅读时可能更有意义:
bool isAllZeros = input
.Where(x => char.IsDigit(x))
.All(x => x == '0');上面写着“输入的数字都是‘0’吗?”
发布于 2014-06-20 01:22:55
您可以使用or运算符|
^(0|\s){0,25}$或者,您可以使用character类:
^[0\s]{0,25}$忘记上面的内容。您可以这样做:
string input = "00 0000 000 00 0000000000";
bool isAllNum = input.IndexOf(" ") == -1; //true if all are numbers without space发布于 2014-06-20 01:26:43
如果要检查0或空格,请将0和空格字符添加到character class中。如果要匹配(\n、\r、\t、\f和' '),请就地使用\s。
^[0 ]{0,25}$https://stackoverflow.com/questions/24312640
复制相似问题