正则表达式
正则表达式(Regular Expression)是一种文本模式,由普通字符与元字符,限定符组成。
正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。
元字符
字符 | 描述 |
---|---|
^ | 匹配输入字符串的开始位置 |
$ | 匹配输入字符串的结尾位置。 |
\w | 匹配字母、数字、下划线。 |
\d | 匹配一个数字字符。 |
\n | 匹配一个换行符。 |
\s | 匹配任何空白字符,包括空格、制表符、换页符等等。 |
\S | 匹配任何非空白字符。 |
. | 匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 . 。 |
可以通过百度 点在线正则表达式测试
字符 | 描述 |
---|---|
* | 匹配前面的子表达式零次或多次。 |
+ | 匹配前面的子表达式一次或多次。 |
? | 匹配前面的子表达式零次或一次。 |
{n} | n 是一个非负整数。匹配确定的 n 次。 |
{n,} | n 是一个非负整数。至少匹配n 次。 |
{n,m} | m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。 |
数字
^\d*$
电话
^(\d{4}-\d{7})|(\d{3}-\d{8})$
邮箱
^\w{3,10}@\w+\.\w+$
身份证
^\d{17}(\d|x|X)$
账号
[a-zA-Z0-9_]
^[a-zA-Z_]\w{5,10}$
using System.Text.RegularExpressions;
//这里是需要匹配的
string input = "1234556";
//这里是格式
string pattern = @"[1-9][0-9]{4,}";
input = "123-456789-123";
pattern = @"\d{3}-\d{3}";
//规则
Regex regex = new Regex(pattern);
//是否匹配
Console.WriteLine(regex.IsMatch(input));
//匹配
Match match = regex.Match(input);
Console.WriteLine(match.Value);
//多匹配
foreach(Match match in regex.Matches(input)){
Console.WriteLine(match.Value);
}