时间:2021-05-20
C#中使用正则所需要引用的命名空间是 using System.Text.RegularExpressions
它包含了8个类,用得最多是的Regex,Regex不仅可以用来创建正则表达式,而且提供了很多有用的方法。
首先来看一下如何创建一个Regex对象:
new Regex(string pattern)
new Regex(string pattern,RegexOptions options)
第一个参数是正则表达式字符串,第二个参数正则配置的选项,有以下几种选项:
IgnoreCase//是匹配忽略大小写默认情况区分大小写
RightToLeft//从右到左查找字符串默认是从左到右
None//不设定标志这是默认选项,就是不设置第2个参数 表示区分大小写 从左到右
MultiLine//指定了^和$可以匹配行的开头和结尾,也就是说使用了换行分割,每一行能得到不同的匹配
SingleLine//规定特殊字符"."匹配任一字符,换行符除外。默认情况下特殊字符"."不匹配换行
IgnoreCase的例子
string test = "Abcccccc";Regex reg = new Regex("abc");Console.WriteLine(reg.IsMatch(test)); //falseRegex reg1 = new Regex("abc",RegexOptions.IgnoreCase); //不区分大小写Console.WriteLine(reg1.IsMatch(test));//trueRightToLeft的例子
string test = "vvv123===456vvv";Regex reg = new Regex("\\d+");// 123 从左到右 匹配连续数字Console.WriteLine(reg.Match(test));Regex reg1 = new Regex("\\d+",RegexOptions.RightToLeft);Console.WriteLine(reg1.Match(test));// 456 从右到左 匹配连续数字MultiLine的例子
StringBuilder input = new StringBuilder();input.AppendLine("A bbbb A");input.AppendLine("C bbbb C");string pattern = @"^\w";Console.WriteLine(input.ToString());MatchCollection matchCol = Regex.Matches(input.ToString(), pattern, RegexOptions.Multiline);foreach (Match item in matchCol){ Console.WriteLine("结果:{0}", item.Value);}这时可能有人会问了,如果既想忽略大小写,又想匹配多行,该怎么办呢,就是两种选项同时满足的情况,该如何做呢?
呵呵,当然是有方法的的,只要用竖线将两个选项隔开就可以了,如下举例
Regex.Matches(input.ToString(), pattern, RegexOptions.IgnoreCase | RegexOptions.Multiline);声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文介绍在C#中使用匹配中文的正则表达式,包括纯中文、有中文、中文开头、中文结尾等几个正则表达式示例。在正则表达式中,中文可以通过Unicode编码来确定正则表
在C#中,我们一般使用Regex类来表示一个正则表达式。一般正则表达式引擎支持以下3种匹配模式:单行模式(Singleline)、多行模式(Multiline)
本文实例讲述了C#中增加SQLite事务操作支持与使用方法。分享给大家供大家参考,具体如下:在C#中使用Sqlite增加对transaction支持usingS
正则表达式是一种匹配输入文本的模式。.Net框架提供了允许这种匹配的正则表达式引擎。模式由一个或多个字符、运算符和结构组成。接下来通过本文给大家介绍C#中使用正
本文实例讲述了C#正则表达式Regex类用法,分享给大家供大家参考。具体实现方法如下:一、在C#中,要使用正则表达式类,请在源文件开头处添加以下语句:复制代码代