文章目录
初步使用语法规则Match
初步使用
正则表达式是一种用于匹配和操作文本的强大工具,它是由一系列字符和特殊字符组成的模式,用于描述要匹配的文本模式。
在C#中,实现了Regex类用以使用正则表达式,下面在顶级语句中,用正则表达式来实现检测邮箱是否符合要求
using System.Text.RegularExpressions;
string email = "tiny_cool@outlook.com";
Regex regex = new Regex(@"^\w+@\w+\.\w+$");
Console.WriteLine(regex.IsMatch(email) ? "格式正确" : "格式错误");
其中^\w+@\w+\.\w+$就是正则表达式,下面逐个元素解析其含义
^\w+ 开头要有多个数字、字母或者下划线
^ 表示开头\w 表示字母、数字、下划线+ 表示一个或多个 @ 无特殊含义,就是正常的@. 即小数点
所以,其匹配情况如下
tiny_cool@outlook.com^\w_@\w+\.\w+
语法规则
正则表达式中,有一些字符可以替代其他字符,被称为元字符;另一些字符可以调控某些字符的重复次数,这些字符列表如下
字符匹配内容.除换行符以外的所有字符\w字母、数字、下画线\s空白符(空格)\d数字\b表达式的开始或结束^表达式的开始$表达式的结束
字符匹配次数*0次或多次?0次或1次+1次或多次{n}n次{n, }n次以上{n,m}n到m次
字符描述\转义字符,将一个具有特殊功能的字符转义为一个普通字符,或反过来(pattern)匹配 pattern 并获取这一匹配(?:pattern)匹配 pattern 但不获取匹配结果(?=pattern)正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串(?!pattern)负向预查,在任何不匹配 pattern 的字符串开始处匹配查找字符串xy[xyz]字符集合,匹配所包含的任意字符。[^xyz]负值字符集合。匹配未包含的任意字符[a-z]匹配指定范围内的任意字符。[^a-z]匹配不在指定范围内的任意字符\B匹配非单词边界\D匹配一个非数字字符,等价于 [^0-9]\f匹配一个换页符\n匹配一个换行符\r匹配一个回车符\S匹配任何非空白字符\t匹配一个制表符\v匹配一个垂直制表符。等价于 \x0b 和 \cK\W匹配任何非单词字符。等价于[^A-Za-z0-9_]
Match
正则表达式最重要的作用就是查询,Regex中最常用的功能也是Match,这个方法一共有三种常用的重载,即
Match(String)
Match(String, Int32)
Match(String, Int32, Int32)
其中,第一种查询字符串中第一个匹配项;第二种则知名查询的起始位置;第三种额外指定匹配字符的长度。以下面代码为例,其输出为tiny_cool@。
using System.Text.RegularExpressions;
string email = "tiny_cool@outlook.com";
Regex regex = new Regex(@"^\w+@");
Console.WriteLine(regex.Match(email));
推荐阅读
发表评论