C#正则表达式基础


正则表达式
可以利用数学算法解决计算机中的文本检索和匹配问题;
是一种专门用于字符串处理的语言
检索:从字符串中获取我们想要的部分
匹配:判断给定的字符串是否符合正则表达式的过滤逻辑*/

//定位字符 ^ $
//string ss = "I am blue cat";
//string newstr = Regex.Replace(ss, "^", "开始-");//搜索字符串
//Console.WriteLine(newstr);//输出结果是:开始-I am blue cat

//string ss = "I am blue cat";
//string newstr = Regex.Replace(ss, "$", "开始-");//搜索字符串
//Console.WriteLine(newstr);//输出结果是:I am blue cat开始-
            
基本元字符
    .  匹配除换行符以外的任意字符
    \w 匹配字母、数字、下划线(指大小写字母、0-9的数字、下划线_)
    \W \w的补集(除“大小写字母、0-9的数字、下划线_”以外)
    \s 匹配任意空白字符(包括换行符/n、回车符/r、制表符/t、换页符/f)
    \S \s的补集
    \d 匹配数字(0-9的数字)
    \D \d的补集(除“0-9的数字”之外)* /
    \B 匹配不是单词开头或结束的位置
    [^x] 匹配除了x以外的字符

重复描述字符
{n} 匹配前面的字符n次
{n.} 匹配前面的字符n次或多于n次
{n,m} 匹配前面的字符n到m次
? 重复0次或者1次
+ 重复1次或者更多次
- 重复0次或者更多次

择一匹配符
| 将两个匹配条件进行逻辑或运算

对正则表达式进行分组
用小括号来指定子表达式


//示例1:只允许输入数字,用正则表达式表示:  @"^\d*$"
string ss = Console.ReadLine();
string pattern = @"^\d*$";//输入的字符串必须全是数字  *代表多个或0个字符
bool ismatch = Regex.IsMatch(ss,pattern);
if (ismatch==true)
{
    Console.WriteLine("输入的字符串合法");
}
else
{
    Console.WriteLine("输入的字符串非法");
}
//示例2:只允许输入除大小写字母、0-9的数字、下划线_以外的字符,用正则表达式表示:  @"^\W*$"

//示例3:找到除"ahou"以外的字符
string str = "I am a cat.";
string str = "I am a cat.";
string pattern1 = @"[^ahou]";//除了ahou中任意一个以外的一个字符
string sss = Regex.Replace(str, pattern1, "*");
Console.WriteLine(sss);//结果是**a**a**a**

//示例4:校验输入内容是否是合法QQ号  用正则表达式表示:  @"^\d{5,12}$"(表示输入的QQ号必须是5-12位的全数字)
//示例5:查找数字或字母 MatchCollection newstr = Regex.Matches(str,@"\d|[a-z]");
//示例6:以分割符找出名字
string str = "zhangsan;lisi,wangwu.zhaoliu";
string pattern1 = @"[;,.]";//
string[] sss = Regex.Split(str, pattern1);

//示例7:重复多个字符使用(){2}进行分组限定
string str = "asasaab12ab__ldjgljglab34——ab89";
string pattern1 = @"(ab\w{2}){2}";//以ab开头,后面是两个字母或数字或下划线,重复两次前面条件
string[] sss = Regex.Replace(str, pattern1,"5555");//结果是:asasa5555ldjgljgl5555

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值