C#中使用正则表达式匹配字符串

简介:
C#中使用正则表达式匹配字符串的方法如下:
1.使用System.Text.RegularExpressions命名空间;
2.使用Matches()方法匹配字符串,格式如下:
MatchCollection Matches = Regex.Matches(Str, Pattern, RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture);
其中Str表示输入字符串,Pattern表示匹配模式,RegexOptions.IgnoreCase表示忽略大小写,RegexOptions.ExplicitCapture表示改变收集匹配方式。
3.匹配结果保存在MatchCollection集合中,可以通过循环遍历结果集取出Match对象的结果。

TestRagular.cs:
 
01.using System; 
02.using System.Text.RegularExpressions; 
03.  
04.namespace Magci.Test.Strings 
05.{ 
06.    public class TestRegular 
07.    { 
08.        public static void WriteMatches(string str, MatchCollection matches) 
09.        { 
10.            Console.WriteLine("\nString is : " + str); 
11.            Console.WriteLine("No. of matches : " + matches.Count); 
12.            foreach (Match nextMatch in matches) 
13.            { 
14.                //取出匹配字符串和最多10个外围字符 
15.                int Index = nextMatch.Index; 
16.                string result = nextMatch.ToString(); 
17.                int charsBefore = (Index < 5) ? Index : 5; 
18.                int fromEnd = str.Length - Index - result.Length; 
19.                int charsAfter = (fromEnd < 5) ? fromEnd : 5; 
20.                int charsToDisplay = charsBefore + result.Length + charsAfter; 
21.  
22.                Console.WriteLine("Index: {0},\tString: {1},\t{2}", Index, result, str.Substring(Index - charsBefore, charsToDisplay)); 
23.            } 
24.        } 
25.  
26.        public static void Main() 
27.        { 
28.            string Str = @"My name is Magci, for short mgc. I like c sharp!"; 
29.  
30.            //查找“gc” 
31.            string Pattern = "gc"; 
32.            MatchCollection Matches = Regex.Matches(Str, Pattern, RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture); 
33.  
34.            WriteMatches(Str, Matches); 
35.              
36.            //查找以“m”开头,“c”结尾的单词 
37.            Pattern = @"\bm\S*c\b"; 
38.            Matches = Regex.Matches(Str, Pattern, RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture); 
39.  
40.            WriteMatches(Str, Matches); 
41.        } 
42.    } 

43.}





     本文转自My_King1 51CTO博客,原文链接:http://blog.51cto.com/apprentice/1360721,如需转载请自行联系原作者


相关文章
|
6月前
|
C#
C#的小例子和字符串(一)
C#的小例子和字符串(一)
144 0
|
6月前
|
JavaScript 前端开发 Java
正则表达式深度解析:匹配任意字符串
【4月更文挑战第1天】
3296 0
|
6月前
|
JavaScript 前端开发
用JavaScript正则表达式匹配对应字符串高亮显示,并过滤掉空格、<、>等HTML节点符号
用JavaScript正则表达式匹配对应字符串高亮显示,并过滤掉空格、<、>等HTML节点符号
|
6月前
|
C#
C#有关字符串的分割,替换,截取
C#有关字符串的分割,替换,截取
|
1月前
|
开发框架 .NET C#
C#|.net core 基础 - 删除字符串最后一个字符的七大类N种实现方式
【10月更文挑战第9天】在 C#/.NET Core 中,有多种方法可以删除字符串的最后一个字符,包括使用 `Substring` 方法、`Remove` 方法、`ToCharArray` 与 `Array.Copy`、`StringBuilder`、正则表达式、循环遍历字符数组以及使用 LINQ 的 `SkipLast` 方法。
|
1月前
|
JavaScript 前端开发 Java
如何使用这个正则表达式来验证一个字符串是否符合特定的格式要求?
如何使用这个正则表达式来验证一个字符串是否符合特定的格式要求?
|
2月前
|
开发框架 .NET 程序员
C# 去掉字符串最后一个字符的 4 种方法
在实际业务中,我们经常会遇到在循环中拼接字符串的场景,循环结束之后拼接得到的字符串的最后一个字符往往需要去掉,看看 C# 提供了哪4种方法可以高效去掉字符串的最后一个字符
298 0
|
1月前
|
Java API 索引
U4字符串以及正则表达式
【10月更文挑战第19天】在 Java 中,字符串是重要数据类型,支持多种操作如长度获取、字符访问、子串提取等。正则表达式提供强大的模式匹配和文本处理功能,通过 `Pattern` 和 `Matcher` 类实现。示例代码展示了如何使用正则表达式匹配单词字符。常用语法包括字符类、数量词、边界匹配和分组。
|
2月前
|
JavaScript 前端开发 Java
使用这个正则表达式来验证一个字符串是否符合特定的格式要求
使用这个正则表达式来验证一个字符串是否符合特定的格式要求
133 5
|
2月前
|
前端开发 C#
C# 一分钟浅谈:字符串操作与正则表达式
本文详细介绍C#中的字符串操作与正则表达式应用,涵盖字符串拼接、分割、查找及替换等基础操作,并通过实例讲解正则表达式的模式匹配、文本替换与分组捕获技巧。同时,文章还探讨了性能优化、复杂度管理和安全性等问题及解决策略,助你提升编程效率,应对实际开发挑战。
76 0