C#Regex验证输入格式

时间:2013-03-15 15:19:15

标签: c# regex

我有这样的输入格式:

{random string} + " " + {integer}

e.g。

a)    stringInput 43

b)    abcdefghijkl 89

如何使用Regex验证此格式?

我遇到了问题: string的正则表达式是什么?

3 个答案:

答案 0 :(得分:5)

public bool IsValidString(string s)
{
  string[] strs = s.Split(' ');
  int i = 0;
  if (strs.Length != 2)
    return false;
  return (int.TryParse(strs[1], out i);
}

如果你不理解它,你真的不需要使用正则表达式,如果你想看看,只是另一种方法。它可能更容易阅读,我个人认为Regex很难阅读。

答案 1 :(得分:3)

尝试一下,

bool _result = Regex.IsMatch(yourStr, @"^[A-Za-z]+\s\d+$");

解释正则表达式,

SDF

  • 在行的开头(字符串的开头或换行符后面)置位位置^
  • 匹配以下列表中的单个字符[A-Za-z]+
    • 在一次和无限次之间,尽可能多次,根据需要回馈(贪婪)+
    • “A”和“Z”A-Z
    • 之间范围内的字符
    • “a”和“z”a-z
    • 之间范围内的字符
  • 匹配单个字符“空白字符”(空格,制表符和换行符)\s
  • 匹配单个数字0..9 \d+
    • 在一次和无限次之间,尽可能多次,根据需要回馈(贪婪)+
  • 在一行的末尾(位于字符串末尾或换行符之前)的位置$

答案 2 :(得分:0)

应该有效

bool _result = Regex.IsMatch(yourStr,@"^\w+?.\d+?$");