文章分类 -  Regular Expression

(.NET FrameWork支持下)正则表达式中的平衡组
摘要:问题的提出:<table><tr><tdid="td1"></td><tdid="td2"><table><tr><td>snhame</td><td>f</td></tr></td><td></td></tr></table>以上为部分的HTML代码.现在我们的问题是要提取出其<td id="td2">的<td&g 阅读全文

posted @ 2011-05-12 15:41 Daywei 阅读(237) 评论(0) 推荐(0)

使用正则表达式匹配嵌套Html标签(转)
摘要:概述正则表达式是做文本解析工作必不可少的技能。如Web服务器日志分析,网页前端开发等。很多高级文本编辑器都支持正则表达式的一个子集,熟练掌握正则表达式,经常能够使你的一些工作事半功倍。例如统计代码行数,只需一个正则就搞定。嵌套Html标签的匹配是正则表达式应用中一个比较难的话题,因为它涉及到的正则语法比较多,也比较难。因此也就更有研究的价值。思路任何复杂的正则表达式都是由简单的子表达式组成的,要想写出复杂的正则来,一方面需要有化繁为简的功底,另外一方面,我们需要从正则引擎的角度去思考问题。关于正则引擎的原理,推荐《Mastering Regular Expression》中文名叫《精通正则表达 阅读全文

posted @ 2011-05-12 15:29 Daywei 阅读(2243) 评论(1) 推荐(0)

C#正则表达式之定位字符浅析
摘要:C#正则表达式之定位字符都有哪些呢?让我们来看看:“定位字符”所代表的是一个虚的字符,它代表一个位置,你也可以直观地认为“定位字符”所代表的是某个字符与字符间的那个微小间隙。^ 表示其后的字符必须位于字符串的开始处$ 表示其前面的字符必须位于字符串的结束处\b 匹配一个单词的边界\B 匹配一个非单词的边界另外,还包括:\A 前面的字符必须位于字符处的开始处,\z 前面的字符必须位于字符串的结束处,\Z 前面的字符必须位于字符串的结束处,或者位于换行符前下面提供一些简单的C#正则表达式之定位字符示例:string i = "Live for nothing,die for someth 阅读全文

posted @ 2011-05-05 18:36 Daywei 阅读(527) 评论(0) 推荐(0)

C#正则表达式之组与非捕获组浅析
摘要:C#正则表达式之组与非捕获组是什么呢?具体的使用是如何的呢?让我们来看看具体的实例操作:以下提供一些简单的C#正则表达式之组与非捕获组示例:string x = "Live for nothing,die for something"; string y = "Live for nothing,die for somebody"; Regex r = new Regex(@"^Live ([a-z]{3}) no([a-z]{5}),die \1 some\2$"); Console.WriteLine("x match c 阅读全文

posted @ 2011-05-05 18:34 Daywei 阅读(1343) 评论(0) 推荐(0)

C#正则表达式之预搜索浅析
摘要:C#正则表达式之预搜索是什么呢?C#正则表达式之预搜索都有什么内容呢?我们学习这部分需要注意什么呢?让我们开始吧:C#正则表达式之预搜索分为:正向预搜索、反向预搜索。下面我们一一介绍:C#正则表达式之正向预搜索声明格式:正声明 “(?=…)”,负声明 “(?!...)” ,声明本身不作为最终匹配结果的一部分请看下面的C#正则表达式之正向预搜索示例:string x = "1024 used 2048 free"; Regex r1 = new Regex(@"\d{4}(?= used)"); if (r1.Matches(x).Count==1) { 阅读全文

posted @ 2011-05-05 18:32 Daywei 阅读(350) 评论(0) 推荐(0)

C#正则表达式之回溯与非回溯浅析
摘要:C#正则表达式之回溯与非回溯是什么呢?我们学习这部分需要知道的有哪些东西呢?让我们开始吧:使用“(?>…)”方式进行非回溯声明。由于正则表达式引擎的贪婪特性,导致它在某些情况下,将进行回溯以获得匹配请看下面的C#正则表达式之回溯与非回溯示例:string x = "Live for nothing,die for something"; Regex r1 = new Regex(@".*thing,"); if (r1.IsMatch(x)) { Console.WriteLine("match:" + r1.Match(x). 阅读全文

posted @ 2011-05-05 18:28 Daywei 阅读(545) 评论(0) 推荐(0)

C#正则表达式之贪婪与非贪婪浅析(转)
摘要:C#正则表达式之贪婪与非贪婪是什么呢?我们在学习这方面的时候主要明白什么呢?让我们开始吧:正则表达式的引擎是贪婪,只要模式允许,它将匹配尽可能多的字符。通过在“重复描述字符”(*,+)后面添加“?”,可以将匹配模式改成非贪婪。请看以下关于C#正则表达式之贪婪与非贪婪示例:string x = "Live for nothing,die for something"; Regex r1 = new Regex(@".*thing"); if (r1.IsMatch(x)) { Console.WriteLine("match:" + r 阅读全文

posted @ 2011-05-05 18:27 Daywei 阅读(2564) 评论(0) 推荐(0)

导航

技术追求卓越 梦想创造未来