Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#正则表达式0-9和破折号_C#_Regex - Fatal编程技术网

c#正则表达式0-9和破折号

c#正则表达式0-9和破折号,c#,regex,C#,Regex,我有一个信用卡号码,我需要检查它是否有0-9之间的数字和任何破折号 我有以下资料: Match match = Regex.Match(CardNumber, "[0-9-]"); if (match.Success) { } 它可以工作,但我想知道我是否错过了任何可能不起作用的东西 谢谢现在它只检查字符串卡号中是否至少有一个数字或破折号,因此它将为字符串返回True“hello0!” 如果要验证字符串,使其仅由数字和破折号组成,则需要使用 Match

我有一个信用卡号码,我需要检查它是否有0-9之间的数字和任何破折号

我有以下资料:

    Match match = Regex.Match(CardNumber, "[0-9-]");

    if (match.Success) 

    {

    }
它可以工作,但我想知道我是否错过了任何可能不起作用的东西


谢谢

现在它只检查字符串
卡号
中是否至少有一个数字或破折号,因此它将为字符串
返回
True
“hello0!”

如果要验证字符串,使其仅由数字和破折号组成,则需要使用

Match match = Regex.Match(CardNumber, @"^[0-9-]*$");

作为@Tim所写内容的一个小提示,他的正则表达式将匹配
-12--34-
。也许你想要的是:

^([0-9]+-)*[0-9]+$
这至少需要一个数字。如果希望空字符串匹配,请使用

^([0-9]+-)*[0-9]*$

(0个或多个由一个或多个数字组成的“组”加上一个
-
和最后一个“组”数字)

您可能应该详细说明一下您的要求。这个问题现在很模糊。。。