C#使用正则表达式

声明:本文只说明c#怎么使用正则表达式,是自己学习的一点笔记,不会深入介绍


首先,你需要引用正则表达式的库

using System.Text.RegularExpressions;

然后,你需要明确:你想从什么样的文本(源文本)中,去获取你想要的信息(目标文本)

比如:你需要从 "我的联系方式,qq274743199,我的电话xxxx"这一句文本中,提取qq号

我们提炼出信息如下:

源文本:

string teststring = "我的联系方式,qq274743199,我的电话xxxx";

目标文本:

274743199


这时候,你就需要定义一个正则表达式去匹配你的目标文本:

string zzstring = null;

zzstring = @"qq(\d+),";

注:当然这里直接使用(\d+)也是可以的,但是在为了提高精准度,可以加入前后不变的关键字或格式,缩小匹配范围,提高匹配公式的健壮性


好了,可以开始匹配了

MatchCollection mc=Regex.Matches(teststring, zzstring);
Console.WriteLine(mc.Count);

if (mc.Count > 0)
            {
                Console.WriteLine("匹配成功");
                Console.WriteLine("匹配结果:{0}", mc[0].Groups[0].Value);//匹配结果
                qq = mc[0].Groups[1].Value;
                Console.WriteLine("匹配子结果:{0}", qq);//第一个子表达式
            }
            else
            {
                Console.WriteLine("匹配成功,但是结果为空");
            }


额外知识点,设置匹配模式

MatchCollection mc = Regex.Matches(teststring, zzstring,RegexOptions.IgnoreCase|RegexOptions.Multiline);




完整代码:


C#使用正则表达式