-4

我有这样的输入格式:

{random string} + " " + {integer}

例如

a)    stringInput 43

b)    abcdefghijkl 89

如何使用正则表达式验证这种格式?

我遇到了一个问题:字符串的正则表达式是什么?

4

3 回答 3

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);
}

You don't really need to use regex for this if you don't understand it, just an alternative method if you wanted to have a look. It may be easier to read, I personally find Regex very hard to read.

于 2013-03-15T15:24:41.487 回答
3

试试这个,

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

正则表达式模式的解释,

自卫队

  • 在行首断言位置(在字符串的开头或换行符之后)^
  • 匹配下面列表中的单个字符[A-Za-z]+
    • 一次和无限次之间,尽可能多次,按需回馈(贪婪)+
    • 介于“A”和“Z”之间的字符A-Z
    • 介于“a”和“z”之间的字符a-z
  • 匹配作为“空白字符”的单个字符(空格、制表符和换行符)\s
  • 匹配单个数字 0..9\d+
    • 一次和无限次之间,尽可能多次,按需回馈(贪婪)+
  • 在行尾断言位置(在字符串末尾或换行符之前)$
于 2013-03-15T15:22:17.063 回答
0

应该管用

bool _result = Regex.IsMatch(yourStr,@"^\w+?.\d+?$");
于 2013-03-15T15:24:24.013 回答