c# Regex验证输入格式
本文关键字:格式 输入 验证 Regex | 更新日期: 2023-09-27 18:04:19
我有一个这样的输入格式:
{random string} + " " + {integer}
。
a) stringInput 43
b) abcdefghijkl 89
如何使用正则表达式验证此格式?
我被困在一个问题上:字符串的正则表达式是什么?
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+?$");