<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_aming</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/31554/rss</id><updated>2011-03-15T03:29:54Z</updated><author><name>aming</name><uri>http://www.cnblogs.com/aming/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/aming/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/31554/rss"/><entry><id>http://www.cnblogs.com/aming/archive/2010/12/13/1904126.html</id><title type="text">.Net线程</title><summary type="text">http://www.cnblogs.com/yizhu2000/archive/2007/10/12/922637.htmlhttp://www.cnblogs.com/yizhu2000/archive/2007/10/19/929930.htmlhttp://www.cnblogs.com/yizhu2000/archive/2008/01/03/1011958.html</summary><published>2010-12-13T01:30:00Z</published><updated>2010-12-13T01:30:00Z</updated><author><name>aming</name><uri>http://www.cnblogs.com/aming/</uri></author><link rel="alternate" href="http://www.cnblogs.com/aming/archive/2010/12/13/1904126.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/aming/archive/2010/12/13/1904126.html"/><content type="html">&lt;p&gt;&lt;a href="http://www.cnblogs.com/yizhu2000/archive/2007/10/12/922637.html"&gt;http://www.cnblogs.com/yizhu2000/archive/2007/10/12/922637.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.cnblogs.com/yizhu2000/archive/2007/10/19/929930.html"&gt;http://www.cnblogs.com/yizhu2000/archive/2007/10/19/929930.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.cnblogs.com/yizhu2000/archive/2008/01/03/1011958.html"&gt;http://www.cnblogs.com/yizhu2000/archive/2008/01/03/1011958.html&lt;/a&gt; &lt;/p&gt;&lt;img src="http://www.cnblogs.com/aming/aggbug/1904126.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/aming/archive/2010/12/13/1904126.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/aming/archive/2010/09/25/1834734.html</id><title type="text">浅析C# new和override的区别</title><summary type="text">C#中new和override是继承中经常用到的两个关键字，但是往往有时候容易把这两个关键字的作用搞混淆。newC# new关键字表示隐藏，是指加上new关键字的属性或函数将对本类和继承类隐藏基类的同名属性或函数[代码]对于上面这个例子来说，假如运行A a=new B();a.Method();会输出This Method in Class A!,这是因为class B继承于class A，现在B...</summary><published>2010-09-25T09:25:00Z</published><updated>2010-09-25T09:25:00Z</updated><author><name>aming</name><uri>http://www.cnblogs.com/aming/</uri></author><link rel="alternate" href="http://www.cnblogs.com/aming/archive/2010/09/25/1834734.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/aming/archive/2010/09/25/1834734.html"/><content type="html">&lt;p&gt;C#中new和override是继承中经常用到的两个关键字，但是往往有时候容易把这两个关键字的作用搞混淆。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 14pt; color: #0000ff"&gt;new&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000"&gt;C# new关键字表示隐藏，是指加上new关键字的属性或函数将对本类和继承类隐藏基类的同名属性或函数&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;A&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;virtual&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Method()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;This&amp;nbsp;Method&amp;nbsp;in&amp;nbsp;Class&amp;nbsp;A!&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;B&amp;nbsp;:&amp;nbsp;A&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Method()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;This&amp;nbsp;Method&amp;nbsp;in&amp;nbsp;Class&amp;nbsp;B!&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;对于上面这个例子来说，假如运行A a=new B();a.Method();会输出This Method in Class A!,这是因为class B继承于class A，现在B中的Method函数隐藏A中的Method，所以从B(包括继承于B的子类)的角度来看类中的Method就是B.Method，A的Method不可见，但是如果从A的角度来看B，A只认识类B中继承于类A的Method函数,对于B类中的Method它不可见，所以A a=new B();a.Method();相当于是调用了类B中继承于A的Method函数&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img height="314" alt="" src="http://images.cnblogs.com/cnblogs_com/opencoder/NOI1.JPG" width="555" border="0" /&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 14pt; color: #0000ff"&gt;override&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000"&gt;&lt;font color="#0000ff"&gt;&lt;span style="color: #000000"&gt;C#中override关键字表示重写，对于加上override关键字的属性或函数将完全覆盖基类的同名虚属性或虚函数，使基类的虚属性和虚函数在整个继承链中都不可见（在子类中用base关键字调用除外）。&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;font color="#0000ff"&gt;&lt;span style="color: #000000"&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;A&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;virtual&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Method()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;This&amp;nbsp;Method&amp;nbsp;in&amp;nbsp;Class&amp;nbsp;A!&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;B&amp;nbsp;:&amp;nbsp;A&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;override&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Method()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;This&amp;nbsp;Method&amp;nbsp;in&amp;nbsp;Class&amp;nbsp;B!&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;对于上面这个例子来说，假如运行A a=new B();a.Method();会输出This Method in Class B!,因为class B的Method函数完全覆盖基类的同名虚函数Method，使整个继承链中看见的Method函数都是B中的Method，所以就算是以A角度来看B，A看到的Method函数也是B中的Method，因为A中的Method完全被B的覆盖了&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img height="315" alt="" src="http://images.cnblogs.com/cnblogs_com/opencoder/NOI2.JPG" width="550" border="0" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;但是如果要在B的对象中调用A的Method函数还是有办法，就是使用base关键字，比如&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;A&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;virtual&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Method()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;This&amp;nbsp;Method&amp;nbsp;in&amp;nbsp;Class&amp;nbsp;A!&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;B&amp;nbsp;:&amp;nbsp;A&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;override&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Method()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;base&lt;/span&gt;&lt;span style="color: #000000"&gt;.Method();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;A a=new B();a.Method();会输出This Method in Class A!，base.Method();表示调用类B中继承于基类A的Method&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 14pt; color: #0000ff"&gt;new、override与interface&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000"&gt;接口在相互继承的时候也会隐藏基接口的同名属性或函数，但是对于接口来说很特殊，隐藏对于基接口来说是不起作用的，接口内部的属性和函数都只是声明，它们都指向实现接口的类中的同名实现函数，通过接口调用接口的属性和函数的时候都会去调用实现类中从上到下&lt;/span&gt;&lt;span style="color: #ff0000"&gt;最先可见&lt;/span&gt;&lt;span style="color: #000000"&gt;的同名函数和同名属性:&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;interface&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IA&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Method();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;interface&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IB&amp;nbsp;:&amp;nbsp;IA&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Method();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IClass:IB&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Method()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;This&amp;nbsp;Method&amp;nbsp;in&amp;nbsp;Class&amp;nbsp;IClass!&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ISubClass&amp;nbsp;:&amp;nbsp;IClass&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Method()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;This&amp;nbsp;Method&amp;nbsp;in&amp;nbsp;Class&amp;nbsp;ISubClass!&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;IA ia = new ISubClass();ia.Method();输出This Method in Class IClass!因为对于ia来说在继承链中最先见到的同名实现函数是类IClass的Method函数&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img height="566" alt="" src="http://images.cnblogs.com/cnblogs_com/opencoder/NOI3.JPG" width="550" border="0" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;把上面的例子稍作修改:&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;interface&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IA&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Method();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;interface&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IB&amp;nbsp;:&amp;nbsp;IA&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Method();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IClass:IB&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;virtual&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Method()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;This&amp;nbsp;Method&amp;nbsp;in&amp;nbsp;Class&amp;nbsp;IClass!&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ISubClass&amp;nbsp;:&amp;nbsp;IClass&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;override&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Method()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;This&amp;nbsp;Method&amp;nbsp;in&amp;nbsp;Class&amp;nbsp;ISubClass!&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;IA ia = new ISubClass();ia.Method();输出This Method in Class ISubClass!因为继承链中的Method函数都被ISubClass的Method覆盖了，所以对于ia来说在继承链中最先见到的同名实现函数是类ISubClass的Method函数&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img height="568" alt="" src="http://images.cnblogs.com/cnblogs_com/opencoder/NOI4.JPG" width="554" border="0" /&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/aming/aggbug/1834734.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/aming/archive/2010/09/25/1834734.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/aming/archive/2010/09/14/1826191.html</id><title type="text">收集一些.NET开发资源站点和部分优 秀.NET开源项目 （转）</title><summary type="text">微软.Net中文主页.NET Framework开发中心微软.Net Framework中文产品支持中心微软.Net Framework中文新闻组(Web)微软VB.Net中文新闻组(Web)博客园 .NET 2.0 专题孟宪会之精彩世界微软.NET俱乐部MSDN中文网络广播AspxBoy教程网天极网微软开发专栏中国IT实验室DOTNET频道阿良.Net主页中国IT实验室.Net电子教程下载中国I...</summary><published>2010-09-14T10:16:00Z</published><updated>2010-09-14T10:16:00Z</updated><author><name>aming</name><uri>http://www.cnblogs.com/aming/</uri></author><link rel="alternate" href="http://www.cnblogs.com/aming/archive/2010/09/14/1826191.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/aming/archive/2010/09/14/1826191.html"/><content type="html">&lt;br /&gt;&#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/china/net/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;微软.Net中文主页&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/china/msdn/developercenter/netframework/default.mspx" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;.NET Framework开发中心&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://support.microsoft.com/ph/548" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;微软.Net Framework中文产品支持中心&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/China/community/dgbrowser/zh-cn/default.mspx?dg=microsoft.public.cn.dotnet.framework&amp;amp;lang=zh&amp;amp;cr=CN" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;微软.Net Framework中文新闻组(Web)&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/China/community/dgbrowser/zh-cn/default.mspx?dg=microsoft.public.cn.dotnet.languages.vb&amp;amp;lang=zh&amp;amp;cr=CN" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;微软VB.Net中文新闻组(Web)&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dotnet2.cnblogs.com/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;博客园 .NET 2.0 专题&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dotnet.aspx.cc/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;孟宪会之精彩世界&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/zh-cn/community/bb220812.aspx" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;微软.NET俱乐部&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/china/msdn/events/webcasts/shared/Webcast/MSDNWebCast.aspx" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;MSDN中文网络广播&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.aspxboy.com/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;AspxBoy教程网&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dev.yesky.com/SoftChannel/72342380434423808/index.shtml" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;天极网微软开发专栏&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dotnet.chinaitlab.com/Index.html/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;中国IT实验室DOTNET频道&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.chenjiliang.com/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;阿良.Net主页&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://download.chinaitlab.com/program/list/93_1.html" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;中国IT实验室.Net电子教程下载&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://download.chinaitlab.com/code/list/34_1.html" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;中国IT实验室.Net源码&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.win-day.com.cn/InfoList/Catalog_78_1.html" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;清风网络学院.Net专栏&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cnblogs.com/thcjp/category/68479.html" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;vs2005入门 .net 2.0系列视频教程&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.joycode.com/percyboy/archive/2005/01/22/43438.aspx" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;.NET 事件模型教程&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.xia8.com/SoftList/Catalog_151_SoftTime_Desc_1.html" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;.net教程及参考资料下载&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.vs2005.com/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;VS2005.com&amp;#8212;专注于MS.NET技术&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Asp.Net&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.asp.net/cn/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;ASP.NET中文官方网&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/china/msdn/developercenter/ASPNET/ASPNETDC.aspx" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;MSDN ASP.NET开发中心&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://chs.gotdotnet.com/quickstart/aspplus/doc/quickstart.aspx" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Asp.Net 1.1快速入门教程&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dotnet.blyct.com/aspnet/Default.aspx" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Asp.Net 2.0快速入门教程&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/consyscourse/ASPnet2.0.aspx" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;ASP.NET 2.0快速入门系列教程&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/China/community/dgbrowser/zh-cn/default.mspx?dg=microsoft.public.cn.dotnet.framework.aspnet&amp;amp;lang=zh&amp;amp;cr=CN" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;微软Asp.Net中文新闻组(Web)&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.chinaaspx.com/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;中国.NET俱乐部&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dotnet.csdn.net/aspnet.aspx" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;CSDN ASP.NET频道&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.aspx.cn/html/web/aspnet/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;AspxCN&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.aspxclub.com/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Asp.Net中文俱乐部&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.webdiyer.com/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;AspNetPager免费分页控件&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.51aspx.com/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;51aspx&amp;#8212;asp.net源码下载&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://tech.163.com/special/A/0009159F/ASP.net.html" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;网易学院 ASP.NET&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.win-day.com.cn/InfoList/Catalog_94_7.html" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;清风网络学院 Asp.Net开发&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://lovecherry.cnblogs.com/lovecherry/archive/2006/07/02/440840.html" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Scott Mitchell的ASP.NET2.0教程中文版&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cnblogs.com/thcjp/category/59325.html" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;VS2005控件演示&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blueidea.com/tech/program/2006/3537.asp" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;ASP.NET高级教程&amp;#8212;实战篇&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.bc-cn.net/Article/net/aspx/jc/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;编程中国asp.net教程&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.aspcool.com/lanmu/browse.asp?bbsuser=aspnet" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;酷网动力asp.net专栏&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jztop.com/dev/aspnet/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;友佳学院asp.net专栏&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.programfan.com/article/article.asp?classid=18" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;编程爱好者asp.net文档中心&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://book.socut.com/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;烁空网页编程开发技术文档&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Visual Studio&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/china/msdn/vstudio/default.aspx" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Visual Studio开发中心&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://support.microsoft.com/gp/kb_modify_vs/zh-cn" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Visual Studio最新中文知识库文章&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://support.microsoft.com/?scid=ph;zh-cn;3041" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;微软Visual Studio 2005中文产品支持中心&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dotnet2.cnblogs.com/default.html?cateid=33021" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;博客园Visual Studio 2005专题&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://soft.yesky.com/lesson/227/3005227.shtml" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Visual Studio 2005入门视频教程&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://support.microsoft.com/ph/3041/zh-cn/?aid=1&amp;amp;GSA_AC_More1" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Visual Studio 2005 How-to文章&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://support.microsoft.com/ph/3041/zh-cn/?aid=3&amp;amp;GSA_AC_More3" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Visual Studio 2005疑难解答&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://tech.163.com/special/000915SN/stvs2005.html" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;网易Visual Studio2005入门.Net系列视频教程&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Visual C#.Net&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/china/msdn/developercenter/VCSharp/default.mspx" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Visual C#开发中心&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://support.microsoft.com/ph/1108" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;微软C#中文产品支持中心&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://support.microsoft.com/gp/kb_modify_csharp/zh-cn" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;C#最新中文知识库文章&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.koders.com/csharpreport.aspx" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Koders源代码搜索引擎(英)&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/China/community/dgbrowser/zh-cn/default.mspx?dg=microsoft.public.cn.dotnet.languages.csharp&amp;amp;lang=zh&amp;amp;cr=CN" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;微软C#中文新闻组(Web)&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.studycs.com/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;中国C#技术学习中心&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.chinacs.net/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;中文C#技术网&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.win-day.com.cn/InfoList/Catalog_96_1.html" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;清风网络学院C#专栏&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://download.chinaitlab.com/program/list/98_1.html" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;中国IT实验室C#电子教程下载&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dev.21tx.com/dotnet/csharp/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;天新网C#专题&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cs-open.com/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;C#开源资源大全&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://study.qqcf.com/sort/219/list_2_1.htm" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;C#教程及语言参考&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mysheji.com/Article/List/List_108.html" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;C#语言教程文章&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.aspcool.com/lanmu/browse.asp?bbsuser=csharp" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;酷网动力C#专栏&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.programfan.com/article/article.asp?classid=15" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;编程爱好者C#文档中心&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;VB.NET&lt;/strong&gt; &#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.aspcool.com/lanmu/browse.asp?bbsuser=vbnet" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;酷网动力vb.net专栏&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.programfan.com/article/article.asp?classid=16" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;编程爱好者vb.net文档中心&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/consyscourse/VBNETStepByStep.aspx" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;微软VB.NET Step By Step 系列课程&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/china/msdn/developercenter/VB/VBDC.aspx" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;MSDN Visual Basic开发中心&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;strong&gt;.NET社区&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://community.csdn.net/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;CSDN社区&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/China/community/dgbrowser/zh-cn/default.mspx?dg=microsoft.public.cn.dotnet.framework&amp;amp;lang=zh&amp;amp;cr=CN" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;微软.Net Framework中文新闻组(Web)&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/China/community/dgbrowser/zh-cn/default.mspx?dg=microsoft.public.cn.dotnet.framework.aspnet&amp;amp;lang=zh&amp;amp;cr=CN" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;微软Asp.Net中文新闻组(Web)&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/China/community/dgbrowser/zh-cn/default.mspx?dg=microsoft.public.cn.dotnet.languages.csharp&amp;amp;lang=zh&amp;amp;cr=CN" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;微软C#中文新闻组(Web)&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/China/community/dgbrowser/zh-cn/default.mspx?dg=microsoft.public.cn.dotnet.languages.vb&amp;amp;lang=zh&amp;amp;cr=CN" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;微软VB.Net中文新闻组(Web)&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;strong&gt;.NET博客&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.cnblogs.com/" target="_blank"&gt;&lt;font color="#3a6ea5"&gt;博客园&lt;/font&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.joycode.com/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;博客堂&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.joycode.com/scottgu/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Scott Guthrie博客中文版&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.joycode.com/saucer/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;思归呓语&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.joycode.com/ghj/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;蝈蝈俊&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.csdn.net/21aspnet/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;清清月儿 .NET万花筒&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://cathsfz.cnblogs.com/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Cat in DotNet&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Ajax&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://ajax.asp.net/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;ASP.NET AJAX 英文官方网站(英)&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ajax.asp.net/ajaxtoolkit/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Asp.Net Ajax 软件工具包(英)&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://atlas.cnblogs.com/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;博客园Asp.Net Ajax专题&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.asp.net/learn/videos/default.aspx?tabid=63#ajax" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;ASP.NET AJAX "How Do I?"视频教程系统(英)&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ajax.schwarz-interactive.de/CSharpSample/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Ajax.NET&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.magicajax.net/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;MagicAjax.NET&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://anthemdotnet.com/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Anthem.NET&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ajax.cnrui.cn/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;AJAX CNRUI&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;strong&gt;工具下载&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;amp;FamilyID=262D25E3-F589-4842-8157-034D1E7CF3A3" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;.NET Framework 1.1 版可再发行组件包&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=04DBAF2E-61ED-43F4-8D2A-CCB2BAB7B8EB&amp;amp;displaylang=zh-cn" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;.NET Framework 1.1 版简体中文语言包&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;amp;FamilyID=9b3a2ca6-3647-4070-9f41-a333c6b9181d" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;.NET Framework 1.1 版软件开发工具包&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;amp;FamilyID=A8F5654F-088E-40B2-BBDB-A83353618B38" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;.NET Framework 1.1 Service Pack 1&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&amp;amp;displaylang=zh-cn" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;.NET Framework 2.0 版可再发行组件包(x86)&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=FE6F2099-B7B4-4F47-A244-C96D69C35DEC&amp;amp;displaylang=zh-cn" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;.NET Framework 2.0 软件开发工具包(SDK)(x86)&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=39C8B63B-F64B-4B68-A774-B64ED0C32AE7&amp;amp;displaylang=zh-cn" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;.NET Framework 2.0 版简体中文语言包(x86)&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;amp;FamilyID=10CC340B-F857-4A14-83F5-25634C3BF043" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;.NET Framework 3.0 可再发行组件包&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;amp;FamilyID=5677DDC4-5035-401F-95C3-CC6F46F6D8F7" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Visual Studio 2005 Team Suite 180天试用版&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;amp;FamilyID=B2C27A7F-D875-47D5-B226-E2578A116E12" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Visual Studio 2005 专业版90天试用版&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;amp;FamilyID=bb4a75ab-e2d4-4c96-b39d-37baf6b5b1dc" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Visual Studio 2005 SP1&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ajax.asp.net/downloads/default.aspx?tabid=47" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;ASP.NET Ajax 1.1&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=AtlasControlToolkit" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Asp.Net AJAX Control Toolkit&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.aisto.com/roeder/dotnet/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Reflector&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;strong&gt;开源程序&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.dasblog.net/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;DasBlog - 基于asp.net的博客引擎&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://umbraco.org/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;Umbroca - ASP.NET CMS系统&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ifdefined.com/bugtrackernet.html" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;BugTracker.NET&amp;#8212;bug跟踪系统&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.screwturn.eu/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;ScrewTurn Wiki - ASP.NET维基引擎&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.rssbandit.org/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;RssBandit - 功能很强的Rss阅读器&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://subtextproject.com/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;SubText - 个人博客平台&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;.NET开源项目&lt;/strong&gt;&lt;/p&gt;&lt;strong&gt;SharpDevelop&lt;/strong&gt;&lt;br /&gt;强大的插件系统，通过Addin构建成一个功能齐全的.net开发IDE。核心是 AddInTree。跟随这个项目开发许多有用的组件，比如功能文本编辑器（ICSharpCode.TextEditor），SharpZipLib 等。&lt;br /&gt;链接：&lt;a href="http://www.icsharpcode.net/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://www.icsharpcode.net/&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;DotNetNuke&lt;/strong&gt;&lt;br /&gt;这 个就是著名DNN，使用VB.NET进行开发。通过其基本架构可进行堆积木式快速建站。而且支持子网站系统。其由asp.net Portal start kit进化而来。&lt;br /&gt;链接：&lt;a href="http://www.dnnchina.net/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://www.dnnchina.net/&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; ，&lt;a href="http://www.dotnetnuke.com/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://www.dotnetnuke.com&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Community Server&lt;br /&gt;&lt;/strong&gt;这个也是一个很著名的ASP.NET项目，记得好像最早系统原形为asp.net Forums，后来加入了.Text Blog 和nGallery成为一个完整的通用系统。对应的中文版本为宝玉修改的CCS。&lt;br /&gt;链接：&lt;a href="http://communityserver.org/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://communityserver.org/&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Rainbow&lt;/strong&gt;&lt;br /&gt;另 外一个类似于DNN的系统，使用C#进行开发。&lt;br /&gt;链接：&lt;a href="http://www.rainbowportal.net/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://www.rainbowportal.net/&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;RssBandit&lt;/strong&gt;&lt;br /&gt;一 个客户端的RSS查看器，使用C# 进行开发，最大的特点是数据存储采用xml文件。&lt;br /&gt;链接：&lt;a href="http://www.rssbandit.org/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://www.rssbandit.org/&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;FreeTextbox&lt;/strong&gt;&lt;br /&gt;Web 上的一个Html超文本编辑器，早些版本是开源的，现在还是免费使用，不过源代码需要购买。&lt;br /&gt;链接：&lt;a href="http://www.freetextbox.com/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://www.freetextbox.com&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;World Wind&lt;/strong&gt;&lt;br /&gt;使用.NET开发的一个Windows窗体系统，以地球外观看得角度提供全球定位功能，类似于Google Earth。&lt;br /&gt;链接：&lt;a href="http://worldwind.arc.nasa.gov/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://worldwind.arc.nasa.gov&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;log4net&lt;/strong&gt;&lt;br /&gt;对 应Java中的log4j。一个强大的日志管理模块。&lt;br /&gt;链接：&lt;a href="http://logging.apache.org/log4net/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://logging.apache.org/log4net/&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Monodevelop&lt;/strong&gt;&lt;br /&gt;非Windows 系统下的.net 平台开发工具。&lt;br /&gt;链接：&lt;a href="http://www.monodevelop.com/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://www.monodevelop.com&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Paint.NET&lt;/strong&gt;&lt;br /&gt;使 用.net开发的画图软件，功能不错。&lt;br /&gt;链接：&lt;a href="http://www.getpaint.net/index.html" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://www.getpaint.net/index.html&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Nunit&lt;/strong&gt;&lt;br /&gt;对 应Java中的Junit，非常著名的单元测试工具。&lt;br /&gt;链接：&lt;a href="http://www.nunit.org/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://www.nunit.org/&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;FCKeditor&lt;/strong&gt;&lt;br /&gt;Web 上的又一个Html超文本编辑器。&lt;br /&gt;链接：&lt;a href="http://www.fckeditor.net/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://www.fckeditor.net/&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Nlog&lt;/strong&gt;&lt;br /&gt;一 个日志管理库，类似于Log4Net。&lt;br /&gt;链接：&lt;a href="http://www.nlog-project.org/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://www.nlog-project.org/&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ManagedSpy&lt;/strong&gt;&lt;br /&gt;.net 平台下的Spy ++，支持通过.net 2.0开的Windows Forms应用程序。&lt;br /&gt;链接：&lt;a href="http://msdn.microsoft.com/msdnmag/issues/06/04/ManagedSpy/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://msdn.microsoft.com/msdnmag/issues/06/04/ManagedSpy/&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Guidance Explore&lt;/strong&gt;&lt;br /&gt;类似于一个.net平台编程问题简答的FAQ。不过提供的都是英文。&lt;br /&gt;链接：&lt;a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=guidanceExplorer" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://www.codeplex.com/Wiki/View.aspx?ProjectName=guidanceExplorer&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Terrarium&lt;/strong&gt;&lt;br /&gt;一 个.net开发的多人游戏。玩这个游戏可以提高编程能力。&lt;br /&gt;链接：&lt;a href="http://www.windowsforms.net/Default.aspx?tabindex=4&amp;amp;tabid=49" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://www.windowsforms.net/Default.aspx?tabindex=4&amp;amp;tabid=49&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;TaskVision&lt;/strong&gt;&lt;br /&gt;任 务管理系统，一个经典的Smart Client智能客户端程序。&lt;br /&gt;链接：&lt;a href="http://www.windowsforms.net/Default.aspx?tabindex=4&amp;amp;tabid=49" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://www.windowsforms.net/Default.aspx?tabindex=4&amp;amp;tabid=49&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;IssueVision&lt;/strong&gt;&lt;br /&gt;事 务管理系统，Smart Client智能客户端程序。&lt;br /&gt;链接：&lt;a href="http://www.windowsforms.net/Default.aspx?tabindex=4&amp;amp;tabid=49" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://www.windowsforms.net/Default.aspx?tabindex=4&amp;amp;tabid=49&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;FotoVision&lt;/strong&gt;&lt;br /&gt;又 一个值得学习的.net开发的Windows应用程序。&lt;br /&gt;链接：&lt;a href="http://www.windowsforms.net/Default.aspx?tabindex=4&amp;amp;tabid=49" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://www.windowsforms.net/Default.aspx?tabindex=4&amp;amp;tabid=49&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Infragistics Tracker Application&lt;/strong&gt;&lt;br /&gt;由Infragistics开发的Smart Client智能客户端程序。&lt;br /&gt;链 接：&lt;a href="http://www.windowsforms.net/Default.aspx?tabindex=4&amp;amp;tabid=49" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://www.windowsforms.net/Default.aspx?tabindex=4&amp;amp;tabid=49&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Windows Forms RSS Portal&lt;/strong&gt;&lt;br /&gt;一个.net 开发的聚合器。&lt;br /&gt;链接：&lt;a href="http://www.windowsforms.net/Default.aspx?tabindex=4&amp;amp;tabid=49" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://www.windowsforms.net/Default.aspx?tabindex=4&amp;amp;tabid=49&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Enterprise Library&lt;/strong&gt;&lt;br /&gt;微软的企业库，对原早些时候开发的一些Block 模块进行整合提供企业统一的接口，新版本使用了.net 2.0的的许多功能。&lt;br /&gt;链接：&lt;a href="http://msdn.microsoft.com/practices/" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://msdn.microsoft.com/practices/&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;PetShop&lt;/strong&gt;&lt;br /&gt;基 于N-tier设计的电子商务网站，没什么好说的了。&lt;br /&gt;链接：&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/bdasamppet4.asp" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/bdasamppet4.asp&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;XmlNotepad&lt;/strong&gt;&lt;br /&gt;一 个用.net 开发的xml文件编辑器。&lt;br /&gt;链接：&lt;a href="http://www.microsoft.com/china/msdn/library/data/xml/xmlnotepad.mspx" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://www.microsoft.com/china/msdn/library/data/xml/xmlnotepad.mspx&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;DockManager Control&lt;/strong&gt;&lt;br /&gt;一个很不错的实现类似于VS 2005的界面某些功能的组件。&lt;br /&gt;链接：&lt;a href="http://www.codeproject.com/vb/net/DockPanelSkin.asp" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://www.codeproject.com/vb/net/DockPanelSkin.asp&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Starter Kits for Visual Web Developer&lt;/strong&gt;&lt;br /&gt;该套件为学习研究应用asp.net2.0的开发人员提供许多 宝贵资源，很不错。&lt;br /&gt;链接：&lt;a href="http://www.asp.net/downloads/starterkits/default.aspx?tabid=62" target="_blank"&gt;&lt;strong&gt;&lt;font color="#3a6ea5"&gt;http://www.asp.net/downloads/starterkits/default.aspx?tabid=62&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; &#xD;
&lt;div id="c_jquery_test" style="display: none"&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/aming/aggbug/1826191.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/aming/archive/2010/09/14/1826191.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/aming/archive/2010/09/13/1824784.html</id><title type="text">你必须知道的.net</title><summary type="text">[开篇有益] [第一回：恩怨情仇：is和as] [第二回：对抽象编程：接口和抽象类] [第三回：历史纠葛：特性和属性] [第四回：后来居上：class和struct] [第五回：深入浅出关键字---把new说透] [第六回：深入浅出关键字---base和this] [第七回：品味类型---从通用类型系统开始] [第八回：品味类型---值类型与引用类型（上）－内存有理] [第九回：品味类型---值类...</summary><published>2010-09-13T02:24:00Z</published><updated>2010-09-13T02:24:00Z</updated><author><name>aming</name><uri>http://www.cnblogs.com/aming/</uri></author><link rel="alternate" href="http://www.cnblogs.com/aming/archive/2010/09/13/1824784.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/aming/archive/2010/09/13/1824784.html"/><content type="html">&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2007/04/06/must_net_00.html"&gt;&lt;font color="#4f564e"&gt;开篇有益&lt;/font&gt;&lt;/a&gt;] &lt;br /&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2007/04/07/must_net_01.html"&gt;&lt;font color="#4f564e"&gt;第一回：恩怨情仇：is和as&lt;/font&gt;&lt;/a&gt;] &lt;br /&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2007/04/12/must_net_02.html"&gt;&lt;font color="#4f564e"&gt;第二回：对抽象编程：接口和抽象类&lt;/font&gt;&lt;/a&gt;] &lt;br /&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2007/04/19/must_net_03.html"&gt;&lt;font color="#4f564e"&gt;第三回：历史纠葛：特性和属性&lt;/font&gt;&lt;/a&gt;] &lt;br /&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2007/04/24/must_net_04.html"&gt;&lt;font color="#4f564e"&gt;第四回：后来居上：class和struct&lt;/font&gt;&lt;/a&gt;] &lt;br /&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2007/04/28/must_net_05.html"&gt;&lt;font color="#4f564e"&gt;第五回：深入浅出关键字---把new说透&lt;/font&gt;&lt;/a&gt;] &lt;br /&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2007/05/04/must_net_06.html"&gt;&lt;font color="#4f564e"&gt;第六回：深入浅出关键字---base和this&lt;/font&gt;&lt;/a&gt;] &lt;br /&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2007/05/11/must_net_07.html"&gt;&lt;font color="#4f564e"&gt;第七回：品味类型---从通用类型系统开始&lt;/font&gt;&lt;/a&gt;] &lt;br /&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2007/05/23/must_net_08.html"&gt;&lt;font color="#4f564e"&gt;第八回：品味类型---值类型与引用类型（上）－内存有理&lt;/font&gt;&lt;/a&gt;] &lt;br /&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2007/05/28/must_net_09.html"&gt;&lt;font color="#4f564e"&gt;第九回：品味类型---值类型与引用类型（中）－规则无边&lt;/font&gt;&lt;/a&gt;] &lt;br /&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2007/06/18/must_net_10.html"&gt;&lt;font color="#4f564e"&gt;第十回：品味类型---值类型与引用类型（下）－应用征途&lt;/font&gt;&lt;/a&gt;] &lt;br /&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2007/07/06/must_net_11.html"&gt;&lt;font color="#4f564e"&gt;第十一回：参数之惑---传递的艺术（上）&lt;/font&gt;&lt;/a&gt;] &lt;br /&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2007/07/06/must_net_12.html"&gt;&lt;font color="#4f564e"&gt;第十二回：参数之惑---传递的艺术（下）&lt;/font&gt;&lt;/a&gt;] &lt;br /&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2007/07/22/must_net_13.html"&gt;&lt;font color="#4f564e"&gt;第十三回：从Hello, world开始认识IL&lt;/font&gt;&lt;/a&gt;] &lt;br /&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2007/08/22/must_net_14.html"&gt;&lt;font color="#4f564e"&gt;第十四回：认识IL代码---从开始到现在&lt;/font&gt;&lt;/a&gt;] &lt;br /&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2007/09/10/must_net_15.html"&gt;&lt;font color="#4f564e"&gt;第十五回：继承本质论&lt;/font&gt;&lt;/a&gt;] &lt;br /&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2007/10/01/must_net_16.html"&gt;&lt;font color="#4f564e"&gt;第十六回：深入浅出关键字---using全接触&lt;/font&gt;&lt;/a&gt;] &lt;br /&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2007/11/07/must_net_17.html"&gt;&lt;font color="#4f564e"&gt;第十七回：貌合神离：覆写和重载&lt;/font&gt;&lt;/a&gt;] &lt;br /&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2007/12/03/must_net_18.html"&gt;&lt;font color="#4f564e"&gt;第十八回：对象创建始末（上）&lt;/font&gt;&lt;/a&gt;] &lt;br /&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2007/12/07/must_net_19.html" target="_blank"&gt;&lt;font color="#4f564e"&gt;第十九回：对象创建始末（下）&lt;/font&gt;&lt;/a&gt;] &lt;br /&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2008/05/28/must_net_20.html"&gt;&lt;font color="#4f564e"&gt;第二十回：学习方法论&lt;/font&gt;&lt;/a&gt;] &lt;br /&gt;[&lt;a href="http://www.cnblogs.com/anytao/archive/2008/07/31/must_net_21.html"&gt;&lt;font color="#4f564e"&gt;第二十一回：认识全面的null&lt;/font&gt;&lt;/a&gt;]&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/aming/aggbug/1824784.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/aming/archive/2010/09/13/1824784.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/aming/archive/2010/09/10/1823097.html</id><title type="text">C#正则表达式整理备忘</title><summary type="text">有一段时间，正则表达式学习很火热很潮流，当时在CSDN一天就能看到好几个正则表达式的帖子，那段时间借助论坛以及Wrox Press出版的《C#字符串和正则表达式参考手册》学习了一些基础的知识，同时也为我在CSDN大概赚了1000分，今天想起来，去找《C#字符串和正则表达式参考手册》时，已经不知所踪了。现在用到正则的时候也比较少，把以前的笔记等整理一下，以志不忘。（1）&amp;#8220;@&amp;#8221;...</summary><published>2010-09-10T03:16:00Z</published><updated>2010-09-10T03:16:00Z</updated><author><name>aming</name><uri>http://www.cnblogs.com/aming/</uri></author><link rel="alternate" href="http://www.cnblogs.com/aming/archive/2010/09/10/1823097.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/aming/archive/2010/09/10/1823097.html"/><content type="html">&lt;p&gt;&lt;font face="Verdana"&gt;有一段时间，正则表达式学习很火热很潮流，当时在CSDN一天就能看到好几个正则表达式的帖子，那段时间借助论坛以及Wrox Press出版的《C#字符串和正则表达式参考手册》学习了一些基础的知识，同时也为我在CSDN大概赚了1000分，今天想起来，去找《C#字符串和正则表达式参考手册》时，已经不知所踪了。现在用到正则的时候也比较少，把以前的笔记等整理一下，以志不忘。&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;（1）&amp;#8220;@&amp;#8221;符号&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;符下两ows表研究室的火热，当晨在&amp;#8220;@&amp;#8221;虽然并非C#正则表达式的&amp;#8220;成员&amp;#8221;，但是它经常与C#正则表达式出双入对。&amp;#8220;@&amp;#8221;表示，跟在它后面的字符串是个&amp;#8220;逐字字符串&amp;#8221;，不是很好理解，举个例子，以下两个声明是等效的：&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;string x="D:\\My Huang\\My Doc";&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;string y = @"D:\My Huang\My Doc";&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;事实上，如果按如下声明，C#将会报错，因为&amp;#8220;\&amp;#8221;在C#中用于实现转义，如&amp;#8220;\n&amp;#8221;换行：&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;string x = "D:\My Huang\My Doc";&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;（2）基本的语法字符。&lt;br /&gt;\d&amp;nbsp; 0-9的数字&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;\D&amp;nbsp; \d的补集（以所以字符为全集，下同），即所有非数字的字符&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;\w&amp;nbsp; 单词字符，指大小写字母、0-9的数字、下划线&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;\W&amp;nbsp; \w的补集&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;\s&amp;nbsp; 空白字符，包括换行符\n、回车符\r、制表符\t、垂直制表符\v、换页符\f&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;\S&amp;nbsp; \s的补集&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;.&amp;nbsp; 除换行符\n外的任意字符&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;[&amp;#8230;]&amp;nbsp; 匹配[]内所列出的所有字符&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;[^&amp;#8230;]&amp;nbsp; 匹配非[]内所列出的字符&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;下面提供一些简单的示例：&lt;/font&gt;&lt;font face="Verdana"&gt;&lt;/p&gt;&#xD;
&lt;div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"&gt;&lt;img id="Code_Closed_Image_123529" style="display: none" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"&gt;&lt;img id="Code_Open_Image_123529" style="display: inline" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"&gt;&lt;span id="Code_Closed_Text_123529" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;Code&lt;/span&gt;&lt;span id="Code_Open_Text_123529" style="display: inline"&gt;&lt;br /&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;\n&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;m&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;3&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Regex&amp;nbsp;r&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;\D&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;同Regex&amp;nbsp;r&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Regex("\\D");&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;r.IsMatch(i)结果：true&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;r.IsMatch(m)结果：false&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;%&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;m&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;3&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Regex&amp;nbsp;r&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;[a-z0-9]&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;匹配小写字母或数字字符&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;r.IsMatch(i)结果：false&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;r.IsMatch(m)结果：true&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;（3）定位字符&lt;br /&gt;&amp;#8220;定位字符&amp;#8221;所代表的是一个虚的字符，它代表一个位置，你也可以直观地认为&amp;#8220;定位字符&amp;#8221;所代表的是某个字符与字符间的那个微小间隙。&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;^&amp;nbsp; 表示其后的字符必须位于字符串的开始处&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;$&amp;nbsp; 表示其前面的字符必须位于字符串的结束处&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;\b&amp;nbsp; 匹配一个单词的边界&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;\B&amp;nbsp; 匹配一个非单词的边界&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;另外，还包括：\A&amp;nbsp; 前面的字符必须位于字符处的开始处，\z&amp;nbsp; 前面的字符必须位于字符串的结束处，\Z&amp;nbsp; 前面的字符必须位于字符串的结束处，或者位于换行符前&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;下面提供一些简单的示例：&lt;/font&gt;&lt;font face="Verdana"&gt;&lt;/p&gt;&#xD;
&lt;div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"&gt;&lt;img id="Code_Closed_Image_124003" style="display: none" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"&gt;&lt;img id="Code_Open_Image_124003" style="display: inline" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"&gt;&lt;span id="Code_Closed_Text_124003" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;Code&lt;/span&gt;&lt;span id="Code_Open_Text_124003" style="display: inline"&gt;&lt;br /&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Live&amp;nbsp;for&amp;nbsp;nothing,die&amp;nbsp;for&amp;nbsp;something&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Regex&amp;nbsp;r1&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;^Live&amp;nbsp;for&amp;nbsp;nothing,die&amp;nbsp;for&amp;nbsp;something$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;r1.IsMatch(i)&amp;nbsp;true&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r2&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;^Live&amp;nbsp;for&amp;nbsp;nothing,die&amp;nbsp;for&amp;nbsp;some$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;r2.IsMatch(i)&amp;nbsp;false&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r3&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;^Live&amp;nbsp;for&amp;nbsp;nothing,die&amp;nbsp;for&amp;nbsp;some&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;r3.IsMatch(i)&amp;nbsp;true&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;Live&amp;nbsp;for&amp;nbsp;nothing,&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;die&amp;nbsp;for&amp;nbsp;something&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;多行&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r1&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;^Live&amp;nbsp;for&amp;nbsp;nothing,die&amp;nbsp;for&amp;nbsp;something$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r1&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r1.Matches(i).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;0&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r2&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;^Live&amp;nbsp;for&amp;nbsp;nothing,die&amp;nbsp;for&amp;nbsp;something$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;RegexOptions.Multiline);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r2&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r2.Matches(i).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;0&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r3&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;^Live&amp;nbsp;for&amp;nbsp;nothing,\r\ndie&amp;nbsp;for&amp;nbsp;something$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r3&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r3.Matches(i).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;1&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r4&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;^Live&amp;nbsp;for&amp;nbsp;nothing,$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r4&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r4.Matches(i).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;0&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r5&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;^Live&amp;nbsp;for&amp;nbsp;nothing,$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;RegexOptions.Multiline);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r5&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r5.Matches(i).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;0&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r6&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;^Live&amp;nbsp;for&amp;nbsp;nothing,\r\n$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r6&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r6.Matches(i).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;0&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r7&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;^Live&amp;nbsp;for&amp;nbsp;nothing,\r\n$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;RegexOptions.Multiline);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r7&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r7.Matches(i).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;0&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r8&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;^Live&amp;nbsp;for&amp;nbsp;nothing,\r$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r8&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r8.Matches(i).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;0&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r9&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;^Live&amp;nbsp;for&amp;nbsp;nothing,\r$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;RegexOptions.Multiline);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r9&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r9.Matches(i).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;1&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r10&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;^die&amp;nbsp;for&amp;nbsp;something$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r10&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r10.Matches(i).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;0&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r11&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;^die&amp;nbsp;for&amp;nbsp;something$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;RegexOptions.Multiline);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r11&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r11.Matches(i).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;1&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r12&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;^&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r12&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r12.Matches(i).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;1&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r13&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r13&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r13.Matches(i).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;1&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r14&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;^&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;RegexOptions.Multiline);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r14&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r14.Matches(i).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;2&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r15&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;RegexOptions.Multiline);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r15&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r15.Matches(i).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;2&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r16&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;^Live&amp;nbsp;for&amp;nbsp;nothing,\r$\n^die&amp;nbsp;for&amp;nbsp;something$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;RegexOptions.Multiline);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r16&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r16.Matches(i).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;1&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;对于一个多行字符串，在设置了Multiline选项之后，^和$将出现多次匹配。&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Live&amp;nbsp;for&amp;nbsp;nothing,die&amp;nbsp;for&amp;nbsp;something&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;m&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Live&amp;nbsp;for&amp;nbsp;nothing,die&amp;nbsp;for&amp;nbsp;some&amp;nbsp;thing&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Regex&amp;nbsp;r1&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;\bthing\b&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r1&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r1.Matches(i).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;0&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r2&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;thing\b&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r2&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r2.Matches(i).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;2&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r3&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;\bthing\b&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r3&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r3.Matches(m).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;1&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r4&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;\bfor&amp;nbsp;something\b&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r4&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r4.Matches(i).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;1&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;\b通常用于约束一个完整的单词&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;（4）重复描述字符&lt;br /&gt;&amp;#8220;重复描述字符&amp;#8221;是体现C#正则表达式&amp;#8220;很好很强大&amp;#8221;的地方之一：&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;{n}&amp;nbsp; 匹配前面的字符n次&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;{n,}&amp;nbsp; 匹配前面的字符n次或多于n次&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;{n,m}&amp;nbsp; 匹配前面的字符n到m次&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;?&amp;nbsp; 匹配前面的字符0或1次&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;+&amp;nbsp; 匹配前面的字符1次或多于1次&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;*&amp;nbsp; 匹配前面的字符0次或式于0次&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;以下提供一些简单的示例：&lt;/font&gt;&lt;font face="Verdana"&gt;&lt;/p&gt;&#xD;
&lt;div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"&gt;&lt;img id="Code_Closed_Image_124300" style="display: none" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"&gt;&lt;img id="Code_Open_Image_124300" style="display: inline" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"&gt;&lt;span id="Code_Closed_Text_124300" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;Code&lt;/span&gt;&lt;span id="Code_Open_Text_124300" style="display: inline"&gt;&lt;br /&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;1024&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;+1024&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;z&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;1,024&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;a&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;1&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;b&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;-1024&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;c&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;10000&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Regex&amp;nbsp;r&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;^\+?[1-9],?\d{3}$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;x&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Matches(x).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;1&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;y&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Matches(y).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;1&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;z&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Matches(z).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;1&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;a&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Matches(a).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;0&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;b&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Matches(b).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;0&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;c&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Matches(c).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;0&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;匹配1000到9999的整数。&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;（5）择一匹配&lt;br /&gt;C#正则表达式中的 (|) 符号似乎没有一个专门的称谓，姑且称之为&amp;#8220;择一匹配&amp;#8221;吧。事实上，像[a-z]也是一种择一匹配，只不过它只能匹配单个字符，而(|)则提供了更大的范围，(ab|xy)表示匹配ab或匹配xy。注意&amp;#8220;|&amp;#8221;与&amp;#8220;()&amp;#8221;在此是一个整体。下面提供一些简单的示例：&lt;/font&gt;&lt;font face="Verdana"&gt;&lt;/p&gt;&#xD;
&lt;div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"&gt;&lt;img id="Code_Closed_Image_124433" style="display: none" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"&gt;&lt;img id="Code_Open_Image_124433" style="display: inline" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"&gt;&lt;span id="Code_Closed_Text_124433" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;Code&lt;/span&gt;&lt;span id="Code_Open_Text_124433" style="display: inline"&gt;&lt;br /&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;0&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;0.23&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;z&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;100&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;a&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;100.01&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;b&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;9.9&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;c&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;99.9&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;d&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;99.&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;e&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;00.1&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Regex&amp;nbsp;r&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;^\+?((100(.0+)*)|([1-9]?[0-9])(\.\d+)*)$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;x&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Matches(x).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;1&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;y&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Matches(y).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;1&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;z&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Matches(z).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;1&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;a&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Matches(a).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;0&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;b&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Matches(b).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;1&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;c&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Matches(c).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;1&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;d&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Matches(d).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;0&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;e&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Matches(e).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;0&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;匹配0到100的数。最外层的括号内包含两部分&amp;#8220;(100(.0+)*)&amp;#8221;，&amp;#8220;([1-9]?[0-9])(\.\d+)*&amp;#8221;，这两部分是&amp;#8220;OR&amp;#8221;的关系，即正则表达式引擎会先尝试匹配100，如果失败，则尝试匹配后一个表达式（表示[0,100)范围中的数字）。&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;（6）特殊字符的匹配&lt;br /&gt;下面提供一些简单的示例：&lt;/font&gt;&lt;font face="Verdana"&gt;&lt;/p&gt;&#xD;
&lt;div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"&gt;&lt;img id="Code_Closed_Image_124558" style="display: none" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"&gt;&lt;img id="Code_Open_Image_124558" style="display: inline" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"&gt;&lt;span id="Code_Closed_Text_124558" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;Code&lt;/span&gt;&lt;span id="Code_Open_Text_124558" style="display: inline"&gt;&lt;br /&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;\\&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Regex&amp;nbsp;r1&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;^\\\\$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r1&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r1.Matches(x).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;1&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r2&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;^\\$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r2&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r2.Matches(x).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;1&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r3&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;^\\$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r3&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r3.Matches(x).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;0&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;匹配&amp;#8220;\&amp;#8221;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;\&lt;/span&gt;&lt;span style="color: #800000"&gt;""&lt;/span&gt;&lt;span style="color: #800000"&gt;;&lt;/span&gt;&lt;span style="color: #800000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r1&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;^\&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;);&lt;/span&gt;&lt;span style="color: #800000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r1&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r1.Matches(x).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;1&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r2&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;^""$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r2&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r2.Matches(x).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;1&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;匹配双引号&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;（7）组与非捕获组&lt;br /&gt;以下提供一些简单的示例：&lt;/font&gt;&lt;font face="Verdana"&gt;&lt;/p&gt;&#xD;
&lt;div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"&gt;&lt;img id="Code_Closed_Image_124857" style="display: none" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"&gt;&lt;img id="Code_Open_Image_124857" style="display: inline" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"&gt;&lt;span id="Code_Closed_Text_124857" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;Code&lt;/span&gt;&lt;span id="Code_Open_Text_124857" style="display: inline"&gt;&lt;br /&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Live&amp;nbsp;for&amp;nbsp;nothing,die&amp;nbsp;for&amp;nbsp;something&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Live&amp;nbsp;for&amp;nbsp;nothing,die&amp;nbsp;for&amp;nbsp;somebody&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Regex&amp;nbsp;r&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;^Live&amp;nbsp;([a-z]{3})&amp;nbsp;no([a-z]{5}),die&amp;nbsp;\1&amp;nbsp;some\2$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;x&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Matches(x).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;1&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;y&amp;nbsp;match&amp;nbsp;count:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Matches(y).Count);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;0&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;正则表达式引擎会记忆&amp;#8220;()&amp;#8221;中匹配到的内容，作为一个&amp;#8220;组&amp;#8221;，并且可以通过索引的方式进行引用。表达式中的&amp;#8220;\1&amp;#8221;，用于反向引用表达式中出现的第一个组，即粗体标识的第一个括号内容，&amp;#8220;\2&amp;#8221;则依此类推。&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Live&amp;nbsp;for&amp;nbsp;nothing,die&amp;nbsp;for&amp;nbsp;something&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Regex&amp;nbsp;r&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;^Live&amp;nbsp;for&amp;nbsp;no([a-z]{5}),die&amp;nbsp;for&amp;nbsp;some\1$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(r.IsMatch(x))&lt;br /&gt;&lt;img id="Codehighlighter1_527_609_Open_Image" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"&gt;&lt;img id="Codehighlighter1_527_609_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_527_609_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_527_609_Open_Text"&gt;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;group1&amp;nbsp;value:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Match(x).Groups[&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;].Value);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;输出：thing&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;获取组中的内容。注意，此处是Groups[1]，因为Groups[0]是整个匹配的字符串，即整个变量x的内容。&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Live&amp;nbsp;for&amp;nbsp;nothing,die&amp;nbsp;for&amp;nbsp;something&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Regex&amp;nbsp;r&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;^Live&amp;nbsp;for&amp;nbsp;no(?&amp;lt;g1&amp;gt;[a-z]{5}),die&amp;nbsp;for&amp;nbsp;some\1$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(r.IsMatch(x))&lt;br /&gt;&lt;img id="Codehighlighter1_806_891_Open_Image" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"&gt;&lt;img id="Codehighlighter1_806_891_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_806_891_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_806_891_Open_Text"&gt;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;group1&amp;nbsp;value:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Match(x).Groups[&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;g1&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;].Value);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;输出：thing&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;可根据组名进行索引。使用以下格式为标识一个组的名称(?&amp;lt;groupname&amp;gt;&amp;#8230;)。&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Live&amp;nbsp;for&amp;nbsp;nothing&amp;nbsp;nothing&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Regex&amp;nbsp;r&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;([a-z]+)&amp;nbsp;\1&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(r.IsMatch(x))&lt;br /&gt;&lt;img id="Codehighlighter1_1032_1121_Open_Image" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"&gt;&lt;img id="Codehighlighter1_1032_1121_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_1032_1121_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_1032_1121_Open_Text"&gt;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Replace(x,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;$1&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;var&amp;nbsp;x:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;输出：Live&amp;nbsp;for&amp;nbsp;nothing&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;删除原字符串中重复出现的&amp;#8220;nothing&amp;#8221;。在表达式之外，使用&amp;#8220;$1&amp;#8221;来引用第一个组，下面则是通过组名来引用：&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Live&amp;nbsp;for&amp;nbsp;nothing&amp;nbsp;nothing&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Regex&amp;nbsp;r&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;(?&amp;lt;g1&amp;gt;[a-z]+)&amp;nbsp;\1&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(r.IsMatch(x))&lt;br /&gt;&lt;img id="Codehighlighter1_1280_1372_Open_Image" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"&gt;&lt;img id="Codehighlighter1_1280_1372_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_1280_1372_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_1280_1372_Open_Text"&gt;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Replace(x,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;${g1}&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;var&amp;nbsp;x:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;输出：Live&amp;nbsp;for&amp;nbsp;nothing&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Live&amp;nbsp;for&amp;nbsp;nothing&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Regex&amp;nbsp;r&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;^Live&amp;nbsp;for&amp;nbsp;no(?:[a-z]{5})$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(r.IsMatch(x))&lt;br /&gt;&lt;img id="Codehighlighter1_1474_1554_Open_Image" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"&gt;&lt;img id="Codehighlighter1_1474_1554_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_1474_1554_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_1474_1554_Open_Text"&gt;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;group1&amp;nbsp;value:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Match(x).Groups[&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;].Value);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;输出：(空)&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;在组前加上&amp;#8220;?:&amp;#8221;表示这是个&amp;#8220;非捕获组&amp;#8221;，即引擎将不保存该组的内容。&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;（8）贪婪与非贪婪&lt;br /&gt;正则表达式的引擎是贪婪，只要模式允许，它将匹配尽可能多的字符。通过在&amp;#8220;重复描述字符&amp;#8221;（*,+）后面添加&amp;#8220;?&amp;#8221;，可以将匹配模式改成非贪婪。请看以下示例：&lt;/font&gt;&lt;font face="Verdana"&gt;&lt;/p&gt;&#xD;
&lt;div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"&gt;&lt;img id="Code_Closed_Image_125011" style="display: none" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"&gt;&lt;img id="Code_Open_Image_125011" style="display: inline" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"&gt;&lt;span id="Code_Closed_Text_125011" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;Code&lt;/span&gt;&lt;span id="Code_Open_Text_125011" style="display: inline"&gt;&lt;br /&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Live&amp;nbsp;for&amp;nbsp;nothing,die&amp;nbsp;for&amp;nbsp;something&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Regex&amp;nbsp;r1&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;.*thing&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(r1.IsMatch(x))&lt;br /&gt;&lt;img id="Codehighlighter1_102_197_Open_Image" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"&gt;&lt;img id="Codehighlighter1_102_197_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_102_197_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_102_197_Open_Text"&gt;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;match:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r1.Match(x).Value);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;输出：Live&amp;nbsp;for&amp;nbsp;nothing,die&amp;nbsp;for&amp;nbsp;something&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Regex&amp;nbsp;r2&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;.*?thing&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(r2.IsMatch(x))&lt;br /&gt;&lt;img id="Codehighlighter1_252_329_Open_Image" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"&gt;&lt;img id="Codehighlighter1_252_329_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_252_329_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_252_329_Open_Text"&gt;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;match:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r2.Match(x).Value);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;输出：Live&amp;nbsp;for&amp;nbsp;nothing&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;（9）回溯与非回溯&lt;br /&gt;使用&amp;#8220;(?&amp;gt;&amp;#8230;)&amp;#8221;方式进行非回溯声明。由于正则表达式引擎的贪婪特性，导致它在某些情况下，将进行回溯以获得匹配，请看下面的示例：&lt;/font&gt;&lt;font face="Verdana"&gt;&lt;/p&gt;&#xD;
&lt;div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"&gt;&lt;img id="Code_Closed_Image_125137" style="display: none" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"&gt;&lt;img id="Code_Open_Image_125137" style="display: inline" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"&gt;&lt;span id="Code_Closed_Text_125137" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;Code&lt;/span&gt;&lt;span id="Code_Open_Text_125137" style="display: inline"&gt;&lt;br /&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Live&amp;nbsp;for&amp;nbsp;nothing,die&amp;nbsp;for&amp;nbsp;something&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Regex&amp;nbsp;r1&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;.*thing,&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(r1.IsMatch(x))&lt;br /&gt;&lt;img id="Codehighlighter1_103_181_Open_Image" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"&gt;&lt;img id="Codehighlighter1_103_181_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_103_181_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_103_181_Open_Text"&gt;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;match:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r1.Match(x).Value);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;输出：Live&amp;nbsp;for&amp;nbsp;nothing,&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Regex&amp;nbsp;r2&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;(?&amp;gt;.*)thing,&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(r2.IsMatch(x))&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;不匹配&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img id="Codehighlighter1_245_301_Open_Image" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"&gt;&lt;img id="Codehighlighter1_245_301_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_245_301_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_245_301_Open_Text"&gt;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;match:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r2.Match(x).Value);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;在r1中，&amp;#8220;.*&amp;#8221;由于其贪婪特性，将一直匹配到字符串的最后，随后匹配&amp;#8220;thing&amp;#8221;，但在匹配&amp;#8220;,&amp;#8221;时失败，此时引擎将回溯，并在&amp;#8220;thing,&amp;#8221;处匹配成功。&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;在r2中，由于强制非回溯，所以整个表达式匹配失败。&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;（10）正向预搜索、反向预搜索&lt;br /&gt;正向预搜索声明格式：正声明 &amp;#8220;(?=&amp;#8230;)&amp;#8221;，负声明 &amp;#8220;(?!...)&amp;#8221; ，声明本身不作为最终匹配结果的一部分，请看下面的示例：&lt;/font&gt;&lt;font face="Verdana"&gt;&lt;/p&gt;&#xD;
&lt;div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"&gt;&lt;img id="Code_Closed_Image_125258" style="display: none" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"&gt;&lt;img id="Code_Open_Image_125258" style="display: inline" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"&gt;&lt;span id="Code_Closed_Text_125258" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;Code&lt;/span&gt;&lt;span id="Code_Open_Text_125258" style="display: inline"&gt;&lt;br /&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;1024&amp;nbsp;used&amp;nbsp;2048&amp;nbsp;free&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Regex&amp;nbsp;r1&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;\d{4}(?=&amp;nbsp;used)&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(r1.Matches(x).Count&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;img id="Codehighlighter1_104_172_Open_Image" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"&gt;&lt;img id="Codehighlighter1_104_172_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_104_172_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_104_172_Open_Text"&gt;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r1&amp;nbsp;match:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r1.Match(x).Value);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;输出：1024&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Regex&amp;nbsp;r2&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;\d{4}(?!&amp;nbsp;used)&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(r2.Matches(x).Count&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;img id="Codehighlighter1_243_312_Open_Image" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"&gt;&lt;img id="Codehighlighter1_243_312_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_243_312_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_243_312_Open_Text"&gt;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r2&amp;nbsp;match:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r2.Match(x).Value);&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;输出：2048&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;r1中的正声明表示必须保证在四位数字的后面必须紧跟着&amp;#8220;&amp;nbsp;used&amp;#8221;，r2中的负声明表示四位数字之后不能跟有&amp;#8220;&amp;nbsp;used&amp;#8221;。&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;反向预搜索声明格式：正声明&amp;#8220;(?&amp;lt;=)&amp;#8221;，负声明&amp;#8220;(?&amp;lt;!)&amp;#8221;，声明本身不作为最终匹配结果的一部分，请看下面的示例：&lt;/font&gt;&lt;font face="Verdana"&gt;&lt;/p&gt;&#xD;
&lt;div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"&gt;&lt;img id="Code_Closed_Image_125410" style="display: none" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"&gt;&lt;img id="Code_Open_Image_125410" style="display: inline" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"&gt;&lt;span id="Code_Closed_Text_125410" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;Code&lt;/span&gt;&lt;span id="Code_Open_Text_125410" style="display: inline"&gt;&lt;br /&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;used:1024&amp;nbsp;free:2048&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Regex&amp;nbsp;r1&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;(?&amp;lt;=used:)\d{4}&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(r1.Matches(x).Count&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;img id="Codehighlighter1_105_173_Open_Image" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"&gt;&lt;img id="Codehighlighter1_105_173_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_105_173_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_105_173_Open_Text"&gt;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r1&amp;nbsp;match:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r1.Match(x).Value);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;输出：1024&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Regex&amp;nbsp;r2&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;(?&amp;lt;!used:)\d{4}&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(r2.Matches(x).Count&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;img id="Codehighlighter1_245_313_Open_Image" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"&gt;&lt;img id="Codehighlighter1_245_313_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_245_313_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_245_313_Open_Text"&gt;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;r2&amp;nbsp;match:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r2.Match(x).Value);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;输出：2048&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;r1中的反向正声明表示在4位数字之前必须紧跟着&amp;#8220;used:&amp;#8221;，r2中的反向负声明表示在4位数字之前必须紧跟着除&amp;#8220;used:&amp;#8221;之外的字符串。&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;（11）十六进制字符范围&lt;br /&gt;正则表达式中，可以使用 "\xXX" 和 "\uXXXX" 表示一个字符（"X" 表示一个十六进制数）形式字符范围：&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;\xXX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 编号在 0到255 范围的字符，比如：空格可以使用 "\x20" 表示。&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;\uXXXX&amp;nbsp;&amp;nbsp; 任何字符可以使用 "\u" 再加上其编号的4位十六进制数表示，比如：汉字可以使用&amp;#8220;[\u4e00-\u9fa5]&amp;#8221;表示。&lt;/font&gt;&lt;/p&gt;&lt;font face="Verdana"&gt;&#xD;
&lt;p&gt;&lt;br /&gt;（12）对[0,100]的比较完备的匹配&lt;br /&gt;下面是一个比较综合的示例，对于匹配[0,100]，需要特殊考虑的地方包括&lt;br /&gt;*00合法，00.合法，00.00合法，001.100合法&lt;br /&gt;*空字符串不合法，仅小数点不合法，大于100不合法&lt;br /&gt;*数值是可带后缀的，如&amp;#8220;1.07f&amp;#8221;表示该值为一个float类型（未考虑）&lt;/p&gt;&#xD;
&lt;div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"&gt;&lt;img id="Code_Closed_Image_125638" style="display: none" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"&gt;&lt;img id="Code_Open_Image_125638" style="display: inline" onclick="code_collapse_toggle(this);" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"&gt;&lt;span id="Code_Closed_Text_125638" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;Code&lt;/span&gt;&lt;span id="Code_Open_Text_125638" style="display: inline"&gt;&lt;br /&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;span style="color: #000000"&gt;Regex&amp;nbsp;r&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Regex(&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;^\+?0*(?:100(\.0*)?|(\d{0,2}(?=\.\d)|\d{1,2}(?=($|\.$)))(\.\d*)?)$&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;""&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;while&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;img id="Codehighlighter1_129_403_Open_Image" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"&gt;&lt;img id="Codehighlighter1_129_403_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_129_403_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_129_403_Open_Text"&gt;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Console.ReadLine();&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;!=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;exit&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;img id="Codehighlighter1_184_365_Open_Image" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"&gt;&lt;img id="Codehighlighter1_184_365_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_184_365_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_184_365_Open_Text"&gt;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(r.IsMatch(x))&lt;br /&gt;&lt;img id="Codehighlighter1_220_279_Open_Image" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"&gt;&lt;img id="Codehighlighter1_220_279_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_220_279_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_220_279_Open_Text"&gt;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;nbsp;succeed!&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img id="Codehighlighter1_301_359_Open_Image" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"&gt;&lt;img id="Codehighlighter1_301_359_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_301_359_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_301_359_Open_Text"&gt;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;nbsp;failed!&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img id="Codehighlighter1_379_401_Open_Image" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"&gt;&lt;img id="Codehighlighter1_379_401_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_379_401_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_379_401_Open_Text"&gt;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;break&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;（13）精确匹配有时候是困难的&lt;br /&gt;有些需求要做到精确匹配比较困难，例如：日期、Url、Email地址等，其中一些你甚至需要研究一些专门的文档写出精确完备的表达式，对于这种情况，只能退而求其次，保证比较精确的匹配。例如对于日期，可以基于应用系统的实际情况考虑一段较短的时间，或者对于像Email的匹配，可以只考虑最常见的形式。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/aming/aggbug/1823097.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/aming/archive/2010/09/10/1823097.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/aming/archive/2010/06/07/1753386.html</id><title type="text">ORACLE 基础</title><summary type="text">Sql 语句块/*声明部分，以declare开头*/declare v_id integer;v_name varchar(20);cursor c_emp is select * from employee where emp_id=3; /*执行部分，以begin开头*/begin 　open c_emp;　　　　　　　　　　　　　--打开游标　loop　　fetch c_emp into v...</summary><published>2010-06-07T10:01:00Z</published><updated>2010-06-07T10:01:00Z</updated><author><name>aming</name><uri>http://www.cnblogs.com/aming/</uri></author><link rel="alternate" href="http://www.cnblogs.com/aming/archive/2010/06/07/1753386.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/aming/archive/2010/06/07/1753386.html"/><content type="html">&lt;p&gt;Sql 语句块&lt;/p&gt;&#xD;
&lt;p&gt;/*声明部分，以declare开头*/&lt;br /&gt;declare &lt;br /&gt;v_id integer;&lt;br /&gt;v_name varchar(20);&lt;br /&gt;cursor c_emp is select * from employee where emp_id=3; &lt;br /&gt;/*执行部分，以begin开头*/&lt;br /&gt;begin &lt;br /&gt;　open c_emp;　　　　　　　　　　　　　--打开游标&lt;br /&gt;　loop&lt;br /&gt;　　fetch c_emp into v_id,v_name;　　--从游标取数据&lt;br /&gt;　　exit when c_emp%notfound ;&lt;br /&gt;　end loop ;&lt;br /&gt;close c_emp;　　　　　　　　　　 --关闭游标&lt;br /&gt;dbms_output.PUT_LINE(v_name);&lt;br /&gt;/*异常处理部分，以exception开始*/&lt;br /&gt;exception&lt;br /&gt;　when no_data_found then &lt;br /&gt;　　dbms_output.PUT_LINE('没有数据');&lt;br /&gt;end ;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;oracle 存储过程的基本语法&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;br /&gt;1.基本结构&lt;/strong&gt; &lt;br /&gt;CREATE OR REPLACE PROCEDURE 存储过程名字&lt;br /&gt;(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 参数1 IN NUMBER,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 参数2 IN NUMBER&lt;br /&gt;) IS&lt;br /&gt;变量1 INTEGER :=0;&lt;br /&gt;变量2 DATE;&lt;br /&gt;BEGIN&lt;/p&gt;&#xD;
&lt;p&gt;END 存储过程名字&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2.SELECT INTO STATEMENT&lt;/strong&gt;&lt;br /&gt;&amp;nbsp; 将select查询的结果存入到变量中，可以同时将多个列存储多个变量中，必须有一条&lt;br /&gt;&amp;nbsp; 记录，否则抛出异常(如果没有记录抛出NO_DATA_FOUND)&lt;br /&gt;&amp;nbsp; 例子： &lt;br /&gt;&amp;nbsp; BEGIN&lt;br /&gt;&amp;nbsp; SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx;&lt;br /&gt;&amp;nbsp; EXCEPTION&lt;br /&gt;&amp;nbsp; WHEN NO_DATA_FOUND THEN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;xxxx;&lt;br /&gt;&amp;nbsp; END;&lt;br /&gt;&amp;nbsp; ...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3.IF 判断&lt;/strong&gt;&lt;br /&gt;&amp;nbsp; IF V_TEST=1 THEN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BEGIN &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do something&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; END;&lt;br /&gt;&amp;nbsp; END IF;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4.while 循环&lt;/strong&gt;&lt;br /&gt;&amp;nbsp; WHILE V_TEST=1 LOOP&lt;br /&gt;&amp;nbsp; BEGIN&lt;br /&gt;&amp;nbsp;XXXX&lt;br /&gt;&amp;nbsp; END;&lt;br /&gt;&amp;nbsp; END LOOP;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;5.变量赋值&lt;br /&gt;&lt;/strong&gt;&amp;nbsp; V_TEST := 123;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;6.用for in 使用cursor&lt;/strong&gt;&lt;br /&gt;&amp;nbsp; ...&lt;br /&gt;&amp;nbsp; IS&lt;br /&gt;&amp;nbsp; CURSOR cur IS SELECT * FROM xxx;&lt;br /&gt;&amp;nbsp; BEGIN&lt;br /&gt;&amp;nbsp;FOR cur_result in cur LOOP&lt;br /&gt;&amp;nbsp;&amp;nbsp;BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;V_SUM :=cur_result.列名1+cur_result.列名2&lt;br /&gt;&amp;nbsp;&amp;nbsp;END;&lt;br /&gt;&amp;nbsp;END LOOP;&lt;br /&gt;&amp;nbsp; END;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;7.带参数的cursor&lt;/strong&gt;&lt;br /&gt;&amp;nbsp; CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID;&lt;br /&gt;&amp;nbsp; OPEN C_USER(变量值);&lt;br /&gt;&amp;nbsp; LOOP&lt;br /&gt;&amp;nbsp;FETCH C_USER INTO V_NAME;&lt;br /&gt;&amp;nbsp;EXIT FETCH C_USER%NOTFOUND;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do something&lt;br /&gt;&amp;nbsp; END LOOP;&lt;br /&gt;&amp;nbsp; CLOSE C_USER;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;8.用pl/sql developer debug&lt;br /&gt;&lt;/strong&gt;&amp;nbsp; 连接数据库后建立一个Test WINDOW&lt;br /&gt;&amp;nbsp; 在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;9 .用游标返回数据集时，游标要定义为应用类型的游标：&lt;br /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;span&gt;CREATE&amp;nbsp;OR&amp;nbsp;REPLACE&amp;nbsp;PROCEDURE&amp;nbsp;PROC_TEST(&amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt; &lt;/p&gt;&#xD;
&lt;p &gt;&lt;span&gt;V_CS&amp;nbsp;&amp;nbsp;OUT&amp;nbsp;&amp;nbsp;SYS_REFCURSOR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &lt;span&gt;)&amp;nbsp; &amp;nbsp;&lt;/span&gt; &lt;/p&gt;&#xD;
&lt;p &gt;&lt;span&gt;AS &amp;nbsp;&lt;/span&gt; &lt;/p&gt;&#xD;
&lt;p &gt;&lt;span&gt;--定义变量...... &amp;nbsp;&lt;/span&gt; &lt;/p&gt;&#xD;
&lt;p &gt;&lt;span&gt;BEGIN &amp;nbsp;&lt;/span&gt; &lt;/p&gt;&#xD;
&lt;p &gt;&lt;span&gt;--数据的处理...... &amp;nbsp;&lt;/span&gt; &lt;/p&gt;&#xD;
&lt;p &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; OPEN&amp;nbsp;V_CS&amp;nbsp;FOR&amp;nbsp;SELECT&amp;nbsp;*&amp;nbsp;FROM&amp;nbsp;test_table; &amp;nbsp;&lt;/span&gt; &lt;/p&gt;&#xD;
&lt;p &gt;&lt;span&gt;RETURN&amp;nbsp;; &amp;nbsp;&lt;/span&gt; &lt;/p&gt;&#xD;
&lt;p &gt;&lt;span&gt;END;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;span&gt;索引：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;span&gt;&#xD;
&lt;table style="table-layout: fixed; width: 100%"&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&#xD;
&lt;div  id="blog_text"&gt;&#xD;
&lt;p&gt;&lt;strong&gt;查看索引个数和类别&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;select * from user_indexes where table_name='表名' ;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;查看索引被索引的字段&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;SQL&amp;gt;select * from user_ind_columns where index_name=upper('&amp;amp;index_name');&lt;/p&gt;&#xD;
&lt;p&gt;PS:&lt;/p&gt;&#xD;
&lt;p&gt;查看某表的约束条件&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;SQL&amp;gt;select constraint_name, constraint_type,search_condition, r_constraint_name &lt;br /&gt;from user_constraints where table_name = upper('&amp;amp;table_name'); &lt;br /&gt;&lt;br /&gt;SQL&amp;gt;select c.constraint_name,c.constraint_type,cc.column_name &lt;br /&gt;from user_constraints c,user_cons_columns cc &lt;br /&gt;where c.owner = upper('&amp;amp;table_owner') and c.table_name = upper('&amp;amp;table_name') &lt;br /&gt;and c.owner = cc.owner and c.constraint_name = cc.constraint_name &lt;br /&gt;order by cc.position;&lt;/p&gt;&#xD;
&lt;p&gt;查看视图的名称&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;SQL&amp;gt;select view_name from user_views;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/aming/aggbug/1753386.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/aming/archive/2010/06/07/1753386.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/aming/archive/2010/04/29/1724199.html</id><title type="text">asp.net cache</title><summary type="text">asp.net 使用驻留在页面中的Cache缓存常用可定时更新的数据 这个就先需要先知道一下System.Web.Caching.Cache类，其实在我做WEB应用的时候，我会将一些使用频繁但是又要经常使用并且需要急时更新的对象放到Cache中，这样可以很大程序上减少从硬盘上读取数据的次数。就是希望让Web应用程序从一开始运行到结束都一直存在，有人就说为什么不用Application呢？其实Cac...</summary><published>2010-04-29T10:17:00Z</published><updated>2010-04-29T10:17:00Z</updated><author><name>aming</name><uri>http://www.cnblogs.com/aming/</uri></author><link rel="alternate" href="http://www.cnblogs.com/aming/archive/2010/04/29/1724199.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/aming/archive/2010/04/29/1724199.html"/><content type="html">&lt;p&gt;&lt;strong&gt;asp.net 使用驻留在页面中的Cache缓存常用可定时更新的数据 &lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;div&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;p&gt;这个就先需要先知道一下System.Web.Caching.Cache类，其实在我做WEB应用的时候，我会将一些使用频繁但是又要经常使用并且需要急时更新的对象放到Cache中，这样可以很大程序上减少从硬盘上读取数据的次数。&lt;/p&gt;&#xD;
&lt;p&gt;就是希望让Web应用程序从一开始运行到结束都一直存在，有人就说为什么不用Application呢？其实Cache是可以一段时间内自动更新数据的，而Application就无法做成这样的，另外Application在Web这种高并发的系统中一定要考虑线程安全的问题，Application本身就不是线程安全的，而Cache就是线程安全。所以一般我都会在很多对象中我只从Web开始运行的时候从数据库或文件里获取一次数据，在不同的页面中，都是使用Cache的，而且Cache中的数据可能弄成自动更新的，所以一般情况不需要考虑数据更新的问题，另外Cache也是也应用程序关联的，全部可能驻留在该Web应用程序中的任何页面。&lt;/p&gt;&#xD;
&lt;p&gt;当然首先我们应该熟悉一下System.Web.Caching.Cache这个类,我这里也就只说说其中使用比较多的几个方法和属性，如果需要更详细的介绍请查阅MSDN。&lt;/p&gt;&#xD;
&lt;p&gt;首先介绍它的Add()方法，将指定的对象添加到Cache对象集合中。&lt;/p&gt;&#xD;
&lt;p&gt;Insert()方法将覆盖有相同Key的Cache顶。&lt;/p&gt;&#xD;
&lt;p&gt;Remove()从应用程序的Cache对象中移除指定项。&lt;/p&gt;&#xD;
&lt;p&gt;Count属性，获取存储在缓存中对象数。&lt;/p&gt;&#xD;
&lt;p&gt;这里我主要要说的是Add()方法，因为我们如果想要长期存在Cache并且在一段时间内自动替换Cache，就必须非常了解它。我们看看MSDN中对该方法的详细介绍吧。呵。&lt;/p&gt;&lt;ins&gt;&lt;ins&gt;&lt;/ins&gt;&lt;/ins&gt;&#xD;
&lt;p&gt;C#&lt;/p&gt;&lt;pre&gt;public Object Add(&lt;br /&gt;&#xD;
string key,&lt;br /&gt;&#xD;
Object value,&lt;br /&gt;&#xD;
CacheDependency dependencies,&lt;br /&gt;&#xD;
DateTime absoluteExpiration,&lt;br /&gt;&#xD;
TimeSpan slidingExpiration,&lt;br /&gt;&#xD;
CacheItemPriority priority,&lt;br /&gt;&#xD;
CacheItemRemovedCallback onRemoveCallback&lt;br /&gt;&#xD;
)&lt;/pre&gt;&#xD;
&lt;p&gt;&lt;strong&gt;参数&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;dl&gt;&#xD;
&lt;dt&gt;key &#xD;
&lt;dd&gt;类型：System.String &#xD;
&lt;p&gt;用于引用该项的缓存键。&lt;/p&gt;&lt;/dd&gt;&lt;/dl&gt;&#xD;
&lt;dl&gt;&#xD;
&lt;dt&gt;value &#xD;
&lt;dd&gt;类型：System.Object &#xD;
&lt;p&gt;要添加到缓存的项。&lt;/p&gt;&lt;/dd&gt;&lt;/dl&gt;&#xD;
&lt;dl&gt;&#xD;
&lt;dt&gt;dependencies &#xD;
&lt;dd&gt;类型：System.Web.Caching.CacheDependency &#xD;
&lt;p&gt;该项的文件依赖项或缓存键依赖项。当任何依赖项更改时，该对象即无效，并从缓存中移除。如果没有依赖项，则此参数包含 nullNothingnullptrnull 引用（在 Visual Basic 中为 Nothing）。&lt;/p&gt;&lt;/dd&gt;&lt;/dl&gt;&#xD;
&lt;dl&gt;&#xD;
&lt;dt&gt;absoluteExpiration &#xD;
&lt;dd&gt;类型：System.DateTime &#xD;
&lt;p&gt;所添加对象将到期并被从缓存中移除的时间。如果使用可调到期，则 absoluteExpiration 参数必须为 NoAbsoluteExpiration。&lt;/p&gt;&lt;/dd&gt;&lt;/dl&gt;&#xD;
&lt;dl&gt;&#xD;
&lt;dt&gt;slidingExpiration &#xD;
&lt;dd&gt;类型：System.TimeSpan &#xD;
&lt;p&gt;最后一次访问所添加对象时与该对象到期时之间的时间间隔。如果该值等效于 20 分钟，则对象在最后一次被访问 20 分钟之后将到期并从缓存中移除。如果使用绝对到期，则 slidingExpiration 参数必须为 NoSlidingExpiration。&lt;/p&gt;&lt;/dd&gt;&lt;/dl&gt;&#xD;
&lt;dl&gt;&#xD;
&lt;dt&gt;priority &#xD;
&lt;dd&gt;类型：System.Web.Caching.CacheItemPriority &#xD;
&lt;p&gt;对象的相对成本，由 CacheItemPriority 枚举表示。缓存在退出对象时使用该值；具有较低成本的对象在具有较高成本的对象之前被从缓存移除。&lt;/p&gt;&lt;/dd&gt;&lt;/dl&gt;&#xD;
&lt;dl&gt;&#xD;
&lt;dt&gt;onRemoveCallback &#xD;
&lt;dd&gt;类型：System.Web.Caching.CacheItemRemovedCallback &#xD;
&lt;p&gt;在从缓存中移除对象时所调用的委托（如果提供）。当从缓存中删除应用程序的对象时，可使用它来通知应用程序。&lt;/p&gt;&lt;/dd&gt;&lt;/dl&gt;&#xD;
&lt;p&gt;&lt;strong&gt;返回值&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;类型：System.Object&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;备注&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;如果 Cache 中已保存了具有相同 key 参数的项，则对此方法的调用将失败。若要使用相同的 key 参数覆盖现有的 Cache 项，请使用 Insert 方法。 &lt;/p&gt;&#xD;
&lt;p&gt;无法同时设置 absoluteExpiration 和 slidingExpiration 参数。如果要让缓存项在特定时间到期，可将 absoluteExpiration 参数设置为特定时间，并将 slidingExpiration 参数设置为 NoSlidingExpiration。 &lt;/p&gt;&#xD;
&lt;p&gt;如果要让缓存项在最后一次访问该项后的某段时间之后到期，可将 slidingExpiration 参数设置为到期间隔，并将 absoluteExpiration 参数设置为 NoAbsoluteExpiration。 &lt;/p&gt;&#xD;
&lt;p&gt;此段转载自MSDN&lt;/p&gt;&#xD;
&lt;p&gt;具体的怎样添加这种缓存了，一般情况我会在母版页中Init事件或Load事件中添加缓存，因为这样可以保证引用程序从一开始执行就可以将需要频繁使用的对象缓存起来了。&lt;/p&gt;&#xD;
&lt;p&gt;protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cache.Add("key",&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //需要添加到Cache中的键&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new { value="添加值"},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //对应的值&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; null,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //缓存依赖项。&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DateTime.Now.AddMinutes(1),//固定缓存时间 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Web.Caching.Cache.NoSlidingExpiration, //可到延时缓存时间，&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Web.Caching.CacheItemPriority.NotRemovable, //缓存中的优先级。&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new System.Web.Caching.CacheItemRemovedCallback(OnMoveCacheBack));//移除时调用的回调函数&lt;br /&gt;} &lt;/p&gt;&#xD;
&lt;p&gt;public void OnMoveCacheBack(string key, object value, System.Web.Caching.CacheItemRemovedReason reason)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Cache[key] != null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cache.Remove(key);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cache.Add("key",&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //需要添加到Cache中的键&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new { value = "更新值" },&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //对应的值&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; null,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //缓存依赖项。&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DateTime.Now.AddMinutes(1),//固定缓存时间 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Web.Caching.Cache.NoSlidingExpiration, //可到延时缓存时间，&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Web.Caching.CacheItemPriority.NotRemovable, //缓存中的优先级。&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new System.Web.Caching.CacheItemRemovedCallback(OnMoveCacheBack));//移除时调用的回调函数&lt;br /&gt;} &lt;/p&gt;&#xD;
&lt;p&gt;参数的具体使用上一定要注意三点， &lt;/p&gt;&#xD;
&lt;p&gt;第一就是缓存的依赖项一定要指定为null。 &lt;/p&gt;&#xD;
&lt;p&gt;第二固定到期缓存时间不能和可到延时缓存时间同时指定时间，实现我说的定期更换数据的，当然就要使用固定到期缓存时间了。 &lt;/p&gt;&#xD;
&lt;p&gt;第三就是该缓存的优先级了，这个也比较关键，一定要指定为System.Web.Caching.CacheItemPriority.NotRemovable枚举值，这样才不会被自动收回，但是一定要注意该缓存的大小。 &lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/aming/aggbug/1724199.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/aming/archive/2010/04/29/1724199.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/aming/archive/2010/04/16/1713592.html</id><title type="text">深入认识javascript中的eval函数</title><summary type="text">（1）介绍javascript中的eval函数的用法（2）如何在函数内执行全局代码&amp;#9658;先来说eval的用法，内容比较简单，熟悉的可以跳过。eval函数接收一个参数s，如果s不是字符串，则直接返回s。否则执行s语句。如果s语句执行结果是一个值，则返回此值，否则返回undefined。需要特别注意的是对象声明语法&amp;#8220;{}&amp;#8221;并不能返回一个值，需要用括号括起来才会返回值，简...</summary><published>2010-04-16T06:47:00Z</published><updated>2010-04-16T06:47:00Z</updated><author><name>aming</name><uri>http://www.cnblogs.com/aming/</uri></author><link rel="alternate" href="http://www.cnblogs.com/aming/archive/2010/04/16/1713592.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/aming/archive/2010/04/16/1713592.html"/><content type="html">&lt;p&gt;（1）介绍javascript中的eval函数的用法&lt;br /&gt;（2）如何在函数内执行全局代码&lt;br /&gt;&lt;br /&gt;&amp;#9658;先来说eval的用法，内容比较简单，熟悉的可以跳过。&lt;br /&gt;eval函数接收一个参数s，如果s不是字符串，则直接返回s。否则执行s语句。如果s语句执行结果是一个值，则返回此值，否则返回undefined。&lt;br /&gt;需要特别注意的是对象声明语法&amp;#8220;{}&amp;#8221;并不能返回一个值，需要用括号括起来才会返回值，简单示例如下：&lt;br /&gt;&lt;br /&gt;var  code1='"a" + 2'; //表达式&lt;br /&gt;var code2='{a:2}'; //语句&lt;br /&gt;alert(eval(code1));  //-&amp;gt;'a2'&lt;br /&gt;alert(eval(code2)); //-&amp;gt;undefined&lt;br /&gt;alert(eval('(' + code2 +  ')')); //-&amp;gt;[object  Object]&lt;br /&gt;可以看到，对于对象声明语句来说，仅仅是执行，并不能返回值。为了返回常用的&amp;#8220;{}&amp;#8221;这样的对象声明语句，必须用括号括住，以将其转换为表达式，才能返回其值。这也是使用JSON来进行Ajax开发的基本原理之一。在例子中可以清楚的看到，第二个alert语句输出的是undefined，而第三个加了括号后输出的是语句表示的对象。&lt;br /&gt;&lt;br /&gt;&amp;#9658;现在来说本文的重点，如何在函数内执行全局代码。为了说明这个问题，先看一个例子：&lt;br /&gt;&lt;br /&gt;var  s='global'; //定义一个全局变量&lt;br /&gt;function demo1(){&lt;br /&gt;eval('var  s="local"');&lt;br /&gt;}&lt;br /&gt;demo1();&lt;br /&gt;alert(s);  //-&amp;gt;global&lt;br /&gt;很好理解，上面的demo1函数等价于：function demo1(){var  s='local';}，其中定义了一个局部变量s。&lt;br /&gt;所以最后的输出是global并不是什么奇怪的事情，毕竟大家都能很清楚的区分局部变量和全局变量。&lt;br /&gt;仔细体会一下，可以发现eval函数的特点，它总是在调用它的上下文变量空间（也称为：包，closure）内执行，无论是变量定义还是函数定义都是如此，所以如下的代码会产生函数未定义的错误：&lt;br /&gt;&lt;br /&gt;var  s='function test(){return 1;}'; //一个函数定义语句&lt;br /&gt;function  demo2(){&lt;br /&gt;eval(s);&lt;br /&gt;}&lt;br /&gt;demo2();&lt;br /&gt;alert(test()); //-&amp;gt;error:test is not  defined&lt;br /&gt;这是因为test函数在局部空间定义，demo2函数内可以访问到，外面就访问不到了。&lt;br /&gt;&lt;br /&gt;而在实际的Ajax开发中，有时我们需要从服务器动态获取代码来执行，以减轻一次载入代码过多的问题，或者是一些代码是通过Javascript自身生成的，希望用eval函数来使其执行。&lt;br /&gt;但这样的动态获取代码的工作一般在函数内完成，比如：&lt;br /&gt;&lt;br /&gt;function  loadCode(){&lt;br /&gt;var  code=getCode();&lt;br /&gt;eval(code);&lt;br /&gt;}&lt;br /&gt;可见eval不可能在全局空间内执行，这就给开发带来了不少问题，也看到过很多人为此郁闷。&lt;br /&gt;&lt;br /&gt;不过现在偶终于找到了解决办法，嘿嘿，可以同时兼容IE和Firefox，方法如下：&lt;br /&gt;&lt;br /&gt;var  X2={} //my namespace:)&lt;br /&gt;X2.Eval=function(code){&lt;br /&gt;if(!!(window.attachEvent  &amp;amp;&amp;amp; !window.opera)){&lt;br /&gt;//ie&lt;br /&gt;execScript(code); &lt;br /&gt;}else{&lt;br /&gt;//not  ie&lt;br /&gt;window.eval(code);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;现在如果要想在函数内定义全局代码，就可以通过调用X2.Eval(code)方法，一个例子如下：&lt;br /&gt;&lt;br /&gt;var  s='global';&lt;br /&gt;function demo3(){&lt;br /&gt;X2.Eval('var  s="local"');&lt;br /&gt;}&lt;br /&gt;demo3();&lt;br /&gt;alert(s);  //-&amp;gt;'local'&lt;br /&gt;可见，在demo3函数内重新定义了全局变量s="local"。&lt;br /&gt;需要注意的是X2.Eval并不返回值，如果要进行表达式的求值，还是用系统的eval函数。X2.Eval设计为仅做全局代码定义用。&lt;br /&gt;&lt;br /&gt;其实看到这里，或许有人感觉问题也太容易解决了点，呵呵，但发现这个办法倒是需要些运气和技巧的：&lt;br /&gt;（1）对于IE浏览器，默认已经提供了这样的函数：execScript，用于在全局空间执行代码，只是知道的人还不多。&lt;br /&gt;（2）对于Firefox浏览器，直接调用eval函数，则在调用者的空间执行；如果调用window.eval则在全局空间执行。这个知道的人估计就更少了。毕竟alert(eval==window.eval)返回true！&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;IE下有个函数execScript()可以执行全局变量，Firefox不支持。&lt;/p&gt; &lt;p&gt;firefox下是：window.eval()，也许大家很疑惑 这和 eval()没啥区别，的确也是if(eval()==window.eval())  返回的是true，但是firefox全局变量的执行只能用window.eval()。&lt;br /&gt;&lt;br /&gt;Firefox的eval函数的特点的确是很令人奇怪的，但从javascript规范中倒也能找到其来源：&lt;br /&gt;&lt;br /&gt;If  value of the eval property is used in any way other than a direct call (that is,  other than by the explicit use of its&lt;br /&gt;name as an Identifier which is the  MemberExpression in a CallExpression), or if the eval property is assigned  to,&lt;br /&gt;an EvalError exception may be  thrown.&lt;br /&gt;意思大概就是说eval函数的执行是和调用者相关的，但并没有说其执行上下文的问题。所以IE和Firefox孰是孰非也就很难说了，大家知道解决办法就好。  &lt;/p&gt;&lt;img src="http://www.cnblogs.com/aming/aggbug/1713592.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/aming/archive/2010/04/16/1713592.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/aming/archive/2009/07/01/1514452.html</id><title type="text">FCKEditor的使用及配置方法</title><summary type="text">1、分别解压后把FCKeditor2.6.4.zip(http://www.fckeditor.net/download)里的fckeditor目录 整个复制到网站中。2、解压FCKeditor.Net_2.6.3.zip(http://www.fckeditor.net/download)包后在FCKeditor.Net_2.6.3\bin\Debug目录里找到FredCK.FCKeditorV...</summary><published>2009-07-01T01:54:00Z</published><updated>2009-07-01T01:54:00Z</updated><author><name>aming</name><uri>http://www.cnblogs.com/aming/</uri></author><link rel="alternate" href="http://www.cnblogs.com/aming/archive/2009/07/01/1514452.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/aming/archive/2009/07/01/1514452.html"/></entry><entry><id>http://www.cnblogs.com/aming/archive/2008/11/03/1325265.html</id><title type="text">个人总结</title><summary type="text"/><published>2008-11-03T02:40:00Z</published><updated>2008-11-03T02:40:00Z</updated><author><name>aming</name><uri>http://www.cnblogs.com/aming/</uri></author><link rel="alternate" href="http://www.cnblogs.com/aming/archive/2008/11/03/1325265.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/aming/archive/2008/11/03/1325265.html"/></entry></feed>
