文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C#正则表达式Match类和Group类用法

C#正则表达式Match类和Group类用法

时间:2011-05-04  来源:moss_tan_jun

==============================

MatchCollection mc = Regex.Matches("A12493", "[A-Za-z]");
            foreach (Match m in mc)
            {
                string a = Convert.ToString(m.Groups["0"].Value);
            }

 

 

============================================================

下面通过例子演示如何将上面的UBB编码转换成HTML代码:


 /// 
  /// 下面的代码实现将文本中的UBB超级链接代码替换为HTML超级链接代码
  /// 
  public void UBBDemo()
  {
   string text = "[url=http://zhoufoxcn.blog.51cto.com][/url][url=http://blog.csdn.net/zhoufoxcn]周公的专栏[/url]";
   Console.WriteLine("原始UBB代码:" + text);
   Regex regex = new Regex(@"(\[url=([ \S\t]*?)\])([^[]*)(\[\/url\])", RegexOptions.IgnoreCase);
   MatchCollection matchCollection = regex.Matches(text);
   foreach (Match match in matchCollection)
   {
   string linkText = string.Empty;
   //如果包含了链接文字,如第二个UBB代码中存在链接名称,则直接使用链接名称
   if (!string.IsNullOrEmpty(match.Groups[3].Value))
   {
   linkText = match.Groups[3].Value;
   }
   else//否则使用链接作为链接名称
   {
   linkText = match.Groups[2].Value;
   }
   text = text.Replace(match.Groups[0].Value, "" + linkText + "");
   }
   Console.WriteLine("替换后的代码:"+text);
  
  }

  程序执行结果如下:

  原始UBB代码:[url=http://zhoufoxcn.blog.51cto.com][/url][url=http://blog.csdn.net/zhoufoxcn]周公的专栏[/url]

  替换后的代码:http://zhoufoxcn.blog.51cto.com周公的专栏

  上面的这个例子就稍微复杂点,对于初学正则表达式的朋友来说,可能有点难于理解,不过没有关系,后面我会讲讲正则表达式。在实际情况下,可能通过match.Groups[0].Value这种方式不太方便,就想在访问DataTable时写string name=dataTable.Rows[i][j]这种方式一样,一旦再次调整,这种通过索引的方式极容易出错,实际上我们也可以采用名称而不是索引的放来来访问Group分组,这个也会在以后的篇幅中去讲。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载