#引用#
c#中使用正则表达式需要加入using System.Text.RegularExpressions的引用
#匹配整数的一种表达式#
Regex.IsMatch(inputerstr, “^([0-9]{1,})$”)
其中Inputerstr是要匹配的字符串
这个表达式仅匹配整数,如果是整数形式返回true,否则为false
#匹配小数格式的表达式#
Regex.IsMatch(inputerstr, “^([0-9]{1,}[.][0-9]*)$”)
其中Inputerstr是要匹配的字符串
这个表达式仅匹配数字中有小数点格式的数字,如果是带有小数点格式的纯数字,返回true,否则为false。
#C#正则表达式样例示范#
校验结果 | 正则表达式 |
只能输入数字 | "^[0-9]*$" |
只能输入n位的数字 | "^\d{n}$" |
只能输入至少n位的数字 | "^\d{n,}$" |
只能输入m~n位的数字 | "^\d{m,n}$" |
只能输入零和非零开头的数字 | "^(0|[1-9][0-9]*)$" |
只能输入有两位小数的正实数 | "^[0-9]+(.[0-9]{2})?$" |
只能输入有1~3位小数的正实数 | "^[0-9]+(.[0-9]{1,3})?$" |
只能输入非零的正整数 | "^\+?[1-9][0-9]*$" |
只能输入非零的负整数 | "^\-[1-9][]0-9"*$这里有问题 |
只能输入长度为3的字符 | "^.{3}$" |
只能输入由26个英文字母组成的字符串 | "^[A-Za-z]+$" |
只能输入由26个大写英文字母组成的字符串 | "^[A-Z]+$" |
只能输入由26个小写英文字母组成的字符串 | "^[a-z]+$" |
只能输入由数字和26个英文字母组成的字符串 | "^[A-Za-z0-9]+$" |
只能输入由数字、26个英文字母或者下划线组成的字符串 | "^\w+$" |
验证用户密码 | "^[a-zA-Z]\w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线 |
验证是否含有^%&’,;=?$\"等字符 | "[^%&’,;=?$\x22]+" |
只能输入汉字 | "^[\u4e00-\u9fa5]{0,}$" |
非负整数(正整数 + 0) | "^\d+$" |
非正整数(负整数 + 0) | "^((-\d+)|(0+))$" |
非负浮点数(正浮点数 + 0) | "^\d+(\.\d+)?$" |
非正浮点数(负浮点数 + 0) | "^((-\d+(\.\d+)?)|(0+(\.0+)?))$" |
正整数 | "^[0-9]*[1-9][0-9]*$" |
#代码示例片段#
string regexString = @"(^[0-9]*[1-9][0-9]*$)|(^([0-9]{1,}[.][0-9]*)$)";//写正则表达式,只能输入数字&小数
Match m = Regex.Match(m_ccd, regexString);
if (!m2.Success)
{
int selectionStart = textBox1.SelectionStart;
textBox1.SelectionStart = selectionStart;
}
else
{
input = double.Parse(textBox1.text);
}