C#中使用正则表达式匹配字符串[通俗易懂]

C#中使用正则表达式匹配字符串[通俗易懂]C#中使用正则表达式匹配字符串的方法如下:1.使用System.Text.RegularExpressions命名空间;2.使用Matches()方法匹配字符串,格式如下:MatchCollectionMatches=Regex.Matches(Str,Pattern,RegexOptions.IgnoreCase|RegexOpti…

大家好,欢迎来到IT知识分享网。

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,如需转载请自行联系原作者


免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/24929.html

(0)
上一篇 2023-08-07 13:00
下一篇 2023-08-08 09:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信