c#中正则表达式实例学习

实例1:
using System;
using System.Text;
using System.Text.RegularExpressions;


class Test
{
    public static void Main()
    {
        string str = "www.baidu.com";
        string res = Regex.Replace(str, "^", "开始");   //用于搜索字符串,符合正则表达式的的情况然后把所有符合的位置全部替换
        //^用于匹配开始的位置
        Console.WriteLine(res);
        string str2 = Regex.Replace(str, "$", "结束");
        //$用于匹配结束的位置
        Console.WriteLine(str2);
    }
}


实例二:
using System;
using System.Text;
using System.Text.RegularExpressions;


class Test
{
    public static void Main()
    {
        string str=Console.ReadLine();
        //string match = @"^\d*$";   //定义一个正则表达式
        //一数字开头,中间有0个或者若干数字,以数字结尾,$会去寻找最近的字符




        string match = @"\d*";   //有0个或则若干个
        bool ismatch = Regex.IsMatch(str, match);  //判断是否符合正则表达式
        //规则是只要match表示的是str的子集就可以
        Console.WriteLine(ismatch);
    }
}


说明:


字符	说明
.	匹配除换行符以外的任意字符
\w	匹配字母数字下划线,汉字(指大小写字母,0-9的数字,下划线)
\W 	\w的补集(除了大小写字母,0-9的数字,下划线以外的字符)
\s	匹配任意空白字符(包括换行符/n,回车符/r,制表符/t,垂直制表符/v,换页幅/f)
\S	\s的补集
\d	匹配数字(0-9数字)
\D	表示\d的补集(除0-9数字以外)
\B	匹配不是单词开头或结束位置的
[abc]	匹配中括号中的字符(单个计算)
[^x]	匹配除了x以外的任意字符
[^adwz]	匹配除了adwz这几个字符以外的任意字符


实例三:
using System;
using System.Text;
using System.Text.RegularExpressions;


class Test
{
    public static void Main()
    {
        string str = Console.ReadLine();
        string match = @"[^nh]";   //除了n,h以外的字符
        string s = Regex.Replace(str, match, "*");  //都被替换成*
        Console.WriteLine(s);
    }
}


重复描述字符
字符	说明
{n}	匹配前面的字符n次
{n,}	匹配前面的字符n次或多余n次
{n,m}	匹配前面的字符n到m次
?	重复零次或一次
+	重复一次或更多次
*	重复零次或更多次


using System;
using System.Text;
using System.Text.RegularExpressions;


class Test
{
    public static void Main()
    {
        string str = "12345";
        string str2 = "123456791321";
        string str3 = "a21466";
        string match = @"^\d{5,12}$";    //匹配数字5到12位数
        Console.WriteLine(Regex.IsMatch(str,match));    //匹配是否符合要求
        Console.WriteLine(Regex.IsMatch(str2,match));
        Console.WriteLine(Regex.IsMatch(str3,match));
    }
}


字符	说明
|	将两个匹配条件进行逻辑“或”(Or)运算


using System;
using System.Text;
using System.Text.RegularExpressions;


class Test
{
    public static void Main()
    {
        string str="asdf*$213";
        string match = @"\d|[a-z]";   //找出里面所有的a-z字符或数字
        MatchCollection matcher = Regex.Matches(str, match);
        foreach(Match m in matcher)
            Console.WriteLine(m);
    }
}




using System;
using System.Text;
using System.Text.RegularExpressions;


class Test
{
    public static void Main()
    {
        string str = "asdf;zxc,qwer.cxv";
        string match = @"[;,.]";    //定义分割的字符
        string[] res = Regex.Split(str, match);  //对字符进行分割
        foreach(string m in res)
            Console.WriteLine(m);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值