c# Regex验证输入格式

本文关键字:格式 输入 验证 Regex | 更新日期: 2023-09-27 18:04:19

我有一个这样的输入格式:

{random string} + " " + {integer}

a)    stringInput 43
b)    abcdefghijkl 89

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

我被困在一个问题上:字符串的正则表达式是什么?

c# Regex验证输入格式

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,如果你想看一看,这只是一个替代方法。它可能更容易阅读,我个人觉得Regex很难阅读。

试一试,

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

解释正则表达式模式,

自卫队

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

应该可以

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