在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
C#正则表达式Regex类的使用 1、定义一个Regex类的实例
2、判断是否匹配判断一个字符串,是否匹配一个正则表达式,在Regex对象中,可以使用Regex.IsMatch(string)方法。 3、获取匹配次数使用Regex.Matches(string)方法得到一个Matches集合,再使用这个集合的Count属性。 4、获取匹配的内容使用Regex.Match(string)方法进行匹配。 5、捕获正则表达式中可以使用括号对部分值进行捕获,要想获取捕获的值,可以使用Regex.Match(string).Groups[int].Value来获取。
using System; using System.Text.RegularExpressions; namespace Magci.Test.Strings { public class TestRegular { public static void WriteMatches(string str, MatchCollection matches) { Console.WriteLine("\nString is : " + str); Console.WriteLine("No. of matches : " + matches.Count); foreach (Match nextMatch in matches) { //取出匹配字符串和最多10个外围字符 int Index = nextMatch.Index; string result = nextMatch.ToString(); int charsBefore = (Index < 5) ? Index : 5; int fromEnd = str.Length - Index - result.Length; int charsAfter = (fromEnd < 5) ? fromEnd : 5; int charsToDisplay = charsBefore + result.Length + charsAfter; Console.WriteLine("Index: {0},\tString: {1},\t{2}", Index, result, str.Substring(Index - charsBefore, charsToDisplay)); } } public static void Main() { string Str = @"My name is Magci, for short mgc. I like c sharp!"; //查找“gc” string Pattern = "gc"; MatchCollection Matches = Regex.Matches(Str, Pattern, RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture); WriteMatches(Str, Matches); //查找以“m”开头,“c”结尾的单词 Pattern = @"\bm\S*c\b"; Matches = Regex.Matches(Str, Pattern, RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture); WriteMatches(Str, Matches); } } }
http://www.splaybow.com/csharp-regex-class.shtml http://developer.51cto.com/art/200908/144164.htm |
请发表评论