C# - 允许的NO编号的正则表达式

时间:2011-12-01 08:26:08

标签: c# regex

我想验证所有现有语言的名字和姓氏 所以我想验证字符串中是否有数字。

谢谢

4 个答案:

答案 0 :(得分:6)

[\s\p{L}]

将是正确的字符类。但是,名称当然可以包含比那些更多的字符(Tim O'ReillyWilliam Henry Gates III.怎么样?)。

另见Falsehoods Programmers Believe About Names

答案 1 :(得分:1)

如果您的验证在if语句中,请执行!正则表达式。

  if ( !Regex.Match ( stringToCheck, "^[0-9]+$" ).Success ) {
      // TODO.
  }

答案 2 :(得分:1)

甚至不必使用正则表达式:

string tmp = "foo";
var match = tmp.IndexOfAny("0123456789".ToCharArray()) != -1;

答案 3 :(得分:0)

我刚试过这个,应该可以解决这个问题:

var regex = new Regex(@"[0-9]", RegexOptions.IgnoreCase);
var m = regex.Match(stringValue);
if (m.Success)
    //TODO