C# 正则表达式

字母:

数字

单个数字\d

非数字\D

字符边界 \b

任意字符 .

字符点 \.

或[abc]:匹配 a 或b 或c 都能匹配

重复多次   c{2} 匹配两个c

重复多次(范围)   b{2,3} 匹配重复2到3次b

重复多次(0-多次)  b* 匹配 0个到多个b

重复多次(1-多次)  b+ 匹配 1个到多个b

匹配单个  b? 匹配要么有b 要么没b

匹配空白 \s(小s) 

匹配所有不是空白的地方 \S(大S)

开头 ^

结尾 $

任意长度*

综合测试:

^abb.*b34$ 匹配例子的全部

解释 以abb开头,任意字符任意长度匹配, 最后以b34结尾

匹配一段 (abbc)

匹配所有 (.*)

所有字符 \w(小写) 一个一个的匹配 (不包括符号)

除了所有字符 也就是符号 \W(大写) 一个一个的匹配

string[] values = { "111-22-3333", "212-64-4321", "12133213232132" };
            string pattern = @"^\d{3}-\d{2}-\d{4}";
            foreach (string a in values)
            {
                if (Regex.IsMatch(a, pattern))
                {
                    Console.WriteLine("{0} is valid", a);
                }
                else {
                    Console.WriteLine("{0} is not valid", a);
                }
            }
            Console.ReadLine();

 替换字符串

private static void RegexReplace()
        {
            string pattern = @"\b\d+\.\d{2}\b";
            string replacement = @"$$$&";
            string input = "Total cost:103.64";
            Console.WriteLine(Regex.Replace(input, pattern, replacement));
        }

 分割字符串

private static void RegexSplit()
        {
            string input = "1. Egg 2. Bread 3. Mike 4. Coffe";
            string pattern = @"\b\d{1,2}\.\s";
            foreach (string item in Regex.Split(input, pattern))
            {
                if (!string.IsNullOrEmpty(item))
                {
                    Console.WriteLine(item);
                }
            }
        }

 

转载于:https://www.cnblogs.com/handsomer/p/4555008.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值