正则表达式循环分组示例(转)

三角猫 DeltaCat的部落格看到一篇关于循环分组示例的文章,特转载于此:

今天,有个网友咨询一个正则表达式的使用,问题描述如下:

“@Beijing|北京|101@Shanghai|上海|102@Tianjin|天 津|103@Chongqing|重庆|104@Haerbin|哈尔滨|105@Dalian|大连|106”
分解成 “Beijing 北京 101“,”Shanghai 上海 102” 的单独项。

这个正则的使用,是循环分组的一个典型应用。

C#的写法:

string str = @”@Beijing|北京|101@Shanghai|上海|102@Tianjin|天津|103@Chongqing|重庆|104@Haerbin|哈尔滨|105@Dalian|大连|106″;
Regex reg = new Regex(@”@([^|]*)|([^|]*)|([^@]*)”);

foreach (Match m in reg.Matches(str))
{
Console.WriteLine(“{0} {1} {2}”, m.Groups[1].Value, m.Groups[2].Value, m.Groups[3].Value);
}

正则表达式学习笔记(待续)

今天在网上闲逛,偶然间找到一个很不错的关于正则表达式的教程~~《正则表达式30分钟入门教程》
http://deerchao.net/tutorials/regex/regex.htm

顺便介绍一个很好用的正则表达式辅助工具:

点此查看详情

以下是我的正则表达式笔记:

正则表达式

b 代表单词开头或结尾 例如:bhib 仅仅匹配hi 不匹配 him shi

b不代表任何字符,仅仅表示一个位置。 继续阅读“正则表达式学习笔记(待续)”

C#正则表达式整理备忘

本文转自博客园C#正则表达式整理备忘,感觉作者语言很是清简练,但表达有相当清楚、易懂,对C#中正则的使 用描述的相当详细!特别的适合C#初学者。原文链接地址:http://www.cnblogs.com/KissKnife/archive/2008 /03/23/1118423.html,不过有句话要提醒一下,C#中正 则使用多了,或正则表达式写的不好,将会大大影响访问速度,能不使用的时候尽量不要使用,一个页面中,正则处理的次数,千万别超过3次,不然将大大影响访问速度。
下面是原文内容:
有一段时间,正则表达式学习很火热很潮流,当时在CSDN一天就能看到好几个正则表达式的帖子,那段时间借助论坛以及Wrox Press出版的《C#字符串和正则表达式参考手册》学习了一些基础的知识,同时也为我在CSDN大概赚了1000分,今天想起来,去找《C#字符串和正 则表达式参考手册》时,已经不知所踪了。现在用到正则的时候也比较少,把以前的笔记等整理一下,以志不忘。 继续阅读“C#正则表达式整理备忘”