<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[从此无名]]></title>
<link>http://www.zxboy.com/</link>
<description><![CDATA[做一个正义的人，不管付出什么代价]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog2 v2.4]]></copyright>
<webMaster><![CDATA[unknow@gmail.com(qlx)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>从此无名</title> 
	<url>http://www.zxboy.com/images/logos.gif</url> 
	<link>http://www.zxboy.com/</link> 
	<description>从此无名</description> 
</image>

			<item>
			<link>http://www.zxboy.com/default.asp?id=270</link>
			<title><![CDATA[冷山]]></title>
			<author>unknow@gmail.com(admin)</author>
			<category><![CDATA[琐记]]></category>
			<pubDate>Sat,04 Feb 2012 18:18:14 +0800</pubDate>
			<guid>http://www.zxboy.com/default.asp?id=270</guid>	
		<description><![CDATA[看了&lt;&lt;冷山&gt;&gt;不得不佩服导演的水平和演员们的演技了.<br/>故事背景很一般,风景很美,女主角的表演太到位了.女配角也不差.<br/>漫长的爱情等待,漫长的回家路,凄惨但不凄凉的结局.<br/>]]></description>
		</item>
		
			<item>
			<link>http://www.zxboy.com/default.asp?id=269</link>
			<title><![CDATA[冷山]]></title>
			<author>unknow@gmail.com(admin)</author>
			<category><![CDATA[琐记]]></category>
			<pubDate>Sat,04 Feb 2012 18:17:11 +0800</pubDate>
			<guid>http://www.zxboy.com/default.asp?id=269</guid>	
		<description><![CDATA[看了&lt;&lt;冷山&gt;&gt;不得不佩服导演的水平和演员们的演技了.<br/>故事背景很一般,风景很美,女主角的表演太到位了.女配角也不差.<br/>漫长的爱情等待,漫长的回家路,凄惨但不凄凉的结局.<br/>]]></description>
		</item>
		
			<item>
			<link>http://www.zxboy.com/default.asp?id=268</link>
			<title><![CDATA[冷山]]></title>
			<author>unknow@gmail.com(admin)</author>
			<category><![CDATA[琐记]]></category>
			<pubDate>Sat,04 Feb 2012 18:16:59 +0800</pubDate>
			<guid>http://www.zxboy.com/default.asp?id=268</guid>	
		<description><![CDATA[看了&lt;&lt;冷山&gt;&gt;不得不佩服导演的水平和演员们的演技了.<br/>故事背景很一般,风景很美,女主角的表演太到位了.女配角也不差.<br/>漫长的爱情等待,漫长的回家路,凄惨但不凄凉的结局.<br/>]]></description>
		</item>
		
			<item>
			<link>http://www.zxboy.com/default.asp?id=266</link>
			<title><![CDATA[近来很浮躁]]></title>
			<author>unknow@gmail.com(admin)</author>
			<category><![CDATA[情感]]></category>
			<pubDate>Tue,15 Nov 2011 21:58:25 +0800</pubDate>
			<guid>http://www.zxboy.com/default.asp?id=266</guid>	
		<description><![CDATA[浮躁<br/>有好长一段时间了<br/>浮躁可不好,会让很多事情做不好或做不完美<br/>没去XJ前以为是心中有所牵挂的缘故<br/>可现在还是浮躁<br/>是应该让自己放松下了<br/>不只是醉倒在酒杯中的放松<br/>如果细细的分析浮躁的原因可能还真有一大堆了<br/>其实也知道生活可以轻松点的<br/>可偏偏停不了自己追逐的脚步<br/>现实和预期总有那么大的差距<br/>让我感叹时间过的太快时又不得不反思自己的方向和决策<br/>好想看到自己可以洒脱的振翅一飞<br/>因为等那一天已经太久了<br/>好想用自己的实力告诉大家<br/>我<br/>不是池中之物<br/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.zxboy.com/default.asp?id=265</link>
			<title><![CDATA[生活中的5个球]]></title>
			<author>unknow@gmail.com(admin)</author>
			<category><![CDATA[情感]]></category>
			<pubDate>Thu,27 Oct 2011 17:06:16 +0800</pubDate>
			<guid>http://www.zxboy.com/default.asp?id=265</guid>	
		<description><![CDATA[如果把人的一生比作一场游戏，游戏中你在空中杂耍5个球，这5个球分别叫做工作、家庭、健康、朋友和精神。你竭力保持它们都在空中，但很快你会领悟到：工作是一个橡胶球，如果你把它弄掉了，它还会弹回来；其它的4个球，家庭、健康、朋友和精神是用玻璃制成的，你弄掉它们中的任何一个，都不可避免地对其有所磨损，产生划痕，甚至摔得粉碎，它们将不再和以前一样。你必须要懂得这个道理，并争取在生活中找到它们之间的一种平衡。那么怎么去寻求这种平衡呢？<br/>　　不要去和别人攀比而削弱自己的价值。因为我们每个人都是不同的，每个人对社会都有其特定的存在价值；<br/>　　不要把你的目标设定在别人认为重要的事情上，只有你自己知道什么是最适合自己的；不要对贴近你的事物习以为常，不屑一顾。一定要坚持它们，因为它们就是你的生活，没有了它们，你的生活也将变得毫无意义；不要沉湎过去，憧憬未来，让今天的生活从你的指缝中悄悄溜走。生活就是要脚踏实地，一天一天地走过来，直到走完你的生命旅程；只要你还有东西可以给予，就不要放弃。一旦你停下了尝试，事情就真正结束了；不要害怕承认你是不完美的，正是因为我们不完美，才使得我们彼此要团结在一起；不要害怕冒险，正是通过冒险，才使我们学会了如何能变得更勇敢；不要总认为真爱难寻，而将爱拒于生活之外。获得爱最快的方式就是给予爱，失去爱最快的方式就是吝啬爱，保持爱最好的方式就是给爱一对翅膀。<br/>　　不要让生活过得如此匆匆以至于迷失了方向；<br/>　　不要忘记，人们最大的情感需要就是感觉到自己被别人赏识；<br/>　　不要害怕学习，知识是没有重量的财富，你可以轻松地带着它去任何地方；不要浪费时间，也不要口不择言，一旦做了这两样事情，将无法弥补；生活不是赛跑，而是旅程，需要你细细地品味旅途中你迈出的每一步；昨天已成为历史，明天仍戴着神秘的面纱，而今天则是最好的礼物：这就是为什么我们称今天为“Present”（present英语中有“现在”和“礼物”两个意思）。<br/><br/>-----------------------------------------------------------------------------------------<br/>N年前就读过这文章了,但现在读来体会更深了.<br/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.zxboy.com/default.asp?id=264</link>
			<title><![CDATA[忙忙忙...]]></title>
			<author>unknow@gmail.com(admin)</author>
			<category><![CDATA[琐记]]></category>
			<pubDate>Fri,26 Aug 2011 22:43:57 +0800</pubDate>
			<guid>http://www.zxboy.com/default.asp?id=264</guid>	
		<description><![CDATA[好久不曾来这写个日志了,好忙哦.<br/>]]></description>
		</item>
		
			<item>
			<link>http://www.zxboy.com/default.asp?id=263</link>
			<title><![CDATA[成就亿万富翁的10条规则]]></title>
			<author>unknow@gmail.com(admin)</author>
			<category><![CDATA[琐记]]></category>
			<pubDate>Mon,11 Jul 2011 14:54:08 +0800</pubDate>
			<guid>http://www.zxboy.com/default.asp?id=263</guid>	
		<description><![CDATA[1.远离你舒服的领域<br/><br/>“当我们处在一个舒服的领域时，我们就很难做出有重大意义的事。我听有人说，‘但我更喜欢有安全感。’对此，我的回答很简单：‘安全只适合死人’”<br/><br/>2.永不放弃<br/><br/>“并不是所有事在首次尝试时都会有所成效的。你正在做的事没有成效，并不意味着它不会成功。这仅仅意味着你工作的方式可能不正确。如果这件事很容易做，任何人都可以做，那你来做也就没有成功的机会了。”<br/><br/>3.往往在你准备放弃的时候，你离成功已经很接近了<br/><br/>“正如古语所说，“&nbsp;I&nbsp;just&nbsp;love，and&nbsp;I&nbsp;believe&nbsp;it&nbsp;is&nbsp;so&nbsp;true。”意思也就是说：成功只差一步之遥，行百里者半九十。”<br/><br/>4.永远向前迈进<br/><br/>“不要放弃投资，不要放弃提高，不要放弃做新的事情。在你放弃提高的时刻，就是它开始走向死亡的时刻。让它成为你的目标，并尽力让它每天都有新的成效。记住“Kaizen”的日本定义：每天一点提高最终就会成就伟大的成功。”<br/><br/>5.迅速做出决定<br/><br/>“记住General&nbsp;George&nbsp;S.&nbsp;Patton曾说过的话：‘今日大力执行一个好的计划远比明日执行一个完美的计划要好的多。’”<br/><br/>6.评估每件有重大意义的事<br/><br/>“我断言这句话是非常正确的。只有受到评估和关照的事情才能取得进展。”<br/><br/>7.任何事如果不管理，都会恶化<br/><br/>“如果你想发现隐含的未被发现的问题，你应该花一段时间，仔细审视一下你好长一段时间不曾关注的区域。我敢保证你的问题将出现在这里。”<br/><br/>8.永远不要期望生活是公平的<br/><br/>“生活是不公平的。你需要为自己带来好运。”<br/><br/>9.不要让自己太过严肃<br/><br/>“放松点。通常，我们所完成事情中至少有一半是靠运气。我们任何人都不可能控制我们认为的就一定会成功。”<br/><br/>10.总有微笑的理由<br/><br/>“去发现它。毕竟，我们现在还活着，这就足够幸运了。生命是短暂的，我很同意我弟弟说的话。他时常提醒我：‘我们不会在这里停留太长时间，我们在这里是为了过得开心。’”]]></description>
		</item>
		
			<item>
			<link>http://www.zxboy.com/default.asp?id=262</link>
			<title><![CDATA[正则表达式高级技巧背后的关键概念]]></title>
			<author>unknow@gmail.com(admin)</author>
			<category><![CDATA[技术]]></category>
			<pubDate>Wed,25 May 2011 14:51:22 +0800</pubDate>
			<guid>http://www.zxboy.com/default.asp?id=262</guid>	
		<description><![CDATA[英文原文来自Smashing&nbsp;Magazine。由笨活儿翻译。转载请注明出处。<br/>正则表达式(Regular&nbsp;Expression,&nbsp;abbr.&nbsp;regex)&nbsp;功能强大，能够用于在一大串字符里找到所需信息。它利用约定俗成的字符结构表达式来发生作用。不幸的是，简单的正则表达式对于一些高级运用，功能远远不够。若要进行筛选的结构比较复杂，你可能就需要用到高级正则表达式。<br/>本文为您介绍正则表达式的高级技巧。我们筛选出了八个常用的概念，并配上实例解析，每个例子都是满足某种复杂要求的简单写法。如果你对正则的基本概念尚缺乏了解，请先阅读这篇文章，或者这个教程，或者维基条目。<br/>这里的正则语法适用于PHP，与Perl兼容。<br/>1.&nbsp;贪婪/懒惰<br/><br/><br/>所有能多次限定的正则运算符都是贪婪的。他们尽可能多地匹配目标字符串，也就是说匹配结果会尽可能地长。不幸的是，这种做法并不总是我们想要的。因此，我们添加“懒惰”限定符来解决问题。在各个贪婪运算符后添加“?”能让表达式只匹配尽可能短的长度。另外，修改器“U”也能惰化能多次限定的运算符。理解贪婪与懒惰的区别是运用高级正则表达式的基础。<br/>贪婪操作符<br/><br/>操作符&nbsp;*&nbsp;匹配之前的表达式零次或零次以上。它是一个贪婪操作符。请看下面的例子：<br/>1<br/>preg_match(&nbsp;&#39;/&lt;h1&gt;.*&lt;&nbsp;\/h1&gt;/&#39;,&nbsp;&#39;&lt;/h1&gt;&lt;h1&gt;这是一个标题。&lt;/h1&gt;<br/>2<br/>&lt;h1&gt;这是另一个。&lt;/h1&gt;&#39;,&nbsp;$matches&nbsp;);<br/>句点(.)能代表除换行符外的任意字符。上面的正则表达式匹配&nbsp;h1&nbsp;标签以及标签内的所有内容。它用句点(.)和星号(*)来匹配标签内的所有内容。匹配结果如下：<br/>1<br/>&lt;h1&gt;这是一个标题。&lt;/h1&gt;<br/>2<br/>&lt;h1&gt;这是另一个。&lt;/h1&gt;<br/>整个字串都被返回。*&nbsp;操作符会连续匹配所有内容——&nbsp;甚至包括中间的&nbsp;h1&nbsp;闭合标签。因为它是贪婪的，匹配整个字串是符合其利益最大化原则。<br/>懒惰操作符<br/><br/>把上面的式子稍作修改，加上一个问号(?)，能让表达式变懒惰：<br/>1<br/>/&lt;h1&gt;.*?&lt;&nbsp;\/h1&gt;/&lt;/h1&gt;<br/>这样它会觉得，只需匹配到第一个&nbsp;h1&nbsp;结尾标签就完成任务了。<br/>另一个有着类似属性的贪婪操作符是&nbsp;{n,}&nbsp;。它代表之前的匹配模式重复n次或n次以上，如果没有加上问号，它会寻找尽可能多的重复次数，加上的话，则会尽可能少重复（当然也就是“重复n次”最少）。<br/>1<br/>#&nbsp;建立字串<br/>2<br/>$str&nbsp;=&nbsp;&#39;hihihi&nbsp;oops&nbsp;hi&#39;;<br/>3<br/>#&nbsp;使用贪婪的{n,}操作符进行匹配<br/>4<br/>preg_match(&nbsp;&#39;/(hi){2,}/&#39;,&nbsp;$str,&nbsp;$matches&nbsp;);&nbsp;&nbsp;#&nbsp;matches[0]&nbsp;将是&nbsp;&#39;hihihi&#39;<br/>5<br/>#&nbsp;使用堕化了的&nbsp;{n,}?&nbsp;操作符匹配<br/>6<br/>preg_match(&nbsp;&#39;/(hi){2,}?/&#39;,&nbsp;$str,&nbsp;$matches&nbsp;);&nbsp;&nbsp;#&nbsp;matches[0]&nbsp;将是&nbsp;&#39;hihi&#39;<br/>2.&nbsp;回返引用(Back&nbsp;referencing)<br/><br/><br/>有什么用？<br/><br/>回返引用(Back&nbsp;referencing)一般被翻译成“反向引用”、“后向引用”、“向后引用”，个人觉得“回返引用”更为贴切[笨活儿]。它是在正则表达式内部引用之前捕获到的内容的方法。例如，下面这个简单例子的目的是匹配出引号内部的内容：<br/>1<br/>#&nbsp;建立匹配数组<br/>2<br/>$matches&nbsp;=&nbsp;array();<br/>3<br/>#&nbsp;建立字串<br/>4<br/>$str&nbsp;=&nbsp;&#34;\&#34;This&nbsp;is&nbsp;a&nbsp;&#39;string&#39;\&#34;&#34;;<br/>5<br/>#&nbsp;用正则表达式捕捉内容<br/>6<br/>preg_match(&nbsp;&#34;/(\&#34;|&#39;).*?(\&#34;|&#39;)/&#34;,&nbsp;$str,&nbsp;$matches&nbsp;);<br/>7<br/>#&nbsp;输出整个匹配字串<br/>8<br/>echo&nbsp;&nbsp;$matches[0];<br/>它会输出：<br/>1<br/>&#34;This&nbsp;is&nbsp;a&#39;<br/>显然，这并不是我们想要的内容。<br/>这个表达式从开头的双引号开始匹配，遭遇单引号之后就错误地结束了匹配。这是因为表达式里说：(&#34;|&#39;)，也就是双引号（&#34;）和单引号（&#39;）均可。要修正这个问题，你可以用到回返引用。表达式\1,\2,…,\9&nbsp;是对前面已捕获到的各个子内容的编组序号，能作为对这些编组的“指针”而被引用。在此例中，第一个被匹配的引号就由1代表。<br/>如何运用？<br/><br/>将上面的例子中，后面的闭合引号替换为1：<br/>1<br/>preg_match(&nbsp;&#39;/(&#34;|\&#39;).*?\1/&#39;,&nbsp;$str,&nbsp;$matches&nbsp;);<br/>这会正确地返回字串：<br/>1<br/>&#34;This&nbsp;is&nbsp;a&nbsp;&#39;string&#39;&#34;<br/>译注思考题：<br/>如果是中文引号，前引号和后引号不是同一个字符，怎么办？<br/>还记得PHP函数&nbsp;preg_replace&nbsp;吗？其中也有回返引用。只不过我们没有用&nbsp;\1&nbsp;…&nbsp;\9，而是用了&nbsp;$1&nbsp;…&nbsp;$9&nbsp;…&nbsp;$n&nbsp;（此处任意数目均可）作为回返指针。例如，如果你想把所有的段落标签&nbsp;&lt;p&gt;&nbsp;都替换成文本：<br/>1<br/>$text&nbsp;=&nbsp;preg_replace(&nbsp;&#39;/&lt;p&gt;(.*?)&lt;&nbsp;\/p&gt;/&#39;,<br/>2<br/>&#39;&amp;lt;p&amp;gt;$1&amp;lt;/p&amp;gt;&#39;,&nbsp;$html&nbsp;);<br/>参数$1是一个回返引用，代表段落标签<br/>内部的文字，并插入到替换后的文本里。这种简便易用的表达式写法为我们提供了一个获取已匹配文字的简单方法，甚至在替换文本时也能使用。<br/>3.&nbsp;已命名捕获组(Named&nbsp;Groups)<br/><br/>当在一个表达式内多次用到回返引用时，很容易就会把自己弄糊涂，判断N个数字（\1&nbsp;…&nbsp;\9）都到底代表哪一部分会比较困难。这是就可以用到带名字的捕获组（下文简称“有名组”）。有名组使用(?P&lt;pattern&gt;)来设定，name代表组名，pattern是配合该有名组的正则结构。请看下面的例子：<br/>1<br/>/(?P&lt;quote&gt;&#34;|&#39;).*?(?P=quote)/<br/>上式中，quote就是组名，&#34;|&#39;是改组匹配内容的正则。后面的(?P=quote)是在调用组名为quote的有名组。这个式子的效果和上面的回调引用实例一样，只不过是用了有名组来实现。是不是更加易读易懂了？<br/>有名组也能用于处理已匹配内容之数组的内部数据。赋予特定正则的组名也能作为所匹配到的内容在数组内部的索引词。<br/>1<br/>preg_match(&nbsp;&#39;/(?P&lt;quote&gt;&#34;|\&#39;)/&#39;,&nbsp;&#34;&#39;String&#39;&#34;,&nbsp;$matches&nbsp;);<br/>2<br/>#&nbsp;下面的语句输出“&#39;”(不包括双引号)<br/>3<br/>echo&nbsp;$matches[1];<br/>4<br/>#&nbsp;使用组名调用，也会输出“&#39;”<br/>5<br/>echo&nbsp;$matches[&#39;quote&#39;];<br/>所以，有名组并不只是让写代码更容易，它也能用于组织代码。<br/>4.&nbsp;字词边界(Word&nbsp;Boundaries)<br/><br/><br/>字词边界是字串里的字词字符（包括字母、数字和下划线，自然也包括汉字）和非字词字符之间的位置。其特殊之处就在于，它并不匹配某个实在的字符。它的长度是零。&nbsp;\b&nbsp;匹配所有字词边界。<br/>可惜，字词边界大多数情况下都被无视了，很多人并不知道如何实际运用。&nbsp;下面举个例子。比如说你想要匹配单词“import”：<br/>1<br/>/import/<br/>注意了！正则表达式有时候很调皮的。下面的字串也能和上面的式子匹配成功：<br/>1<br/>important<br/>你或许觉得，只要在import前后加上空格，不就可以匹配&nbsp;import&nbsp;这个独立的单词了：<br/>1<br/>/&nbsp;import&nbsp;/<br/>那如果遇上这种情况呢：<br/>1<br/>The&nbsp;trader&nbsp;voted&nbsp;for&nbsp;the&nbsp;import<br/>当&nbsp;import&nbsp;这个词在字串开头或者结尾时，修改后的表达式仍然不能用。因此，考虑各种情况是必须的：<br/>1<br/>/(^import&nbsp;|&nbsp;import&nbsp;|&nbsp;import$)/i<br/>别慌，还没完呢。如果遇到标点符号呢？就为了满足这一个单词的匹配，你的正则可能就需要这样写：<br/>1<br/>/(^import(:|;|,)?&nbsp;|&nbsp;import(:|;|,)?&nbsp;|&nbsp;import(\.|\?|!)?$)/i<br/>对于只匹配一个单词来说，这样做实在是有点大动干戈了。正因如此，字词边界才显得意义重大。要满足上述要求，以及很多其他情况，利用字符边界，只需如此写：<br/>1<br/>/\bimport\b/<br/>上面所有情况都得到了解决。\&nbsp;b&nbsp;的灵活性就在于，它是一个没有长度的匹配。它只匹配两个实际字符之间想象出的位置。它检查两个相邻字符是否是一个为单字，另一个为非单字。情况符合，就返回匹配。如果遇到了单词的开头或结尾，&nbsp;\b&nbsp;会把它当成是非单词字符对待。由于import里面的&nbsp;i&nbsp;仍然被看成是单词字符，import&nbsp;就被匹配出来了。<br/>注意，与\b相对，我们还有\B，此操作符匹配两个单字或者两个非单字之间的位置。因此，如果你想匹配在某个单词内部的‘hi’，可以使用：<br/>1<br/>\Bhi\B<br/>“this”、“hight”，都会返回匹配，而“hi&nbsp;there”则不会返回匹配。<br/>5.&nbsp;最小组团(Atomic&nbsp;Groups)<br/><br/><br/>最小组团是无捕捉的特殊正则表达式分组。通常用来提高正则表达式的效能，也能用于消除特定匹配。一个最小组团可以用(?&gt;pattern)&nbsp;来定义，其中pattern是匹配式。<br/>1<br/>/(?&gt;his|this)/<br/>当正则引擎针对最小组团进行匹配时，它会跳过组团内标记的回溯位置。以单词“smashing”为例，当用上面的正则表达式匹配时，正则引擎会先尝试在“smashing”里寻找“his”。显然，找不到任何匹配。此时，最小组团就发挥作用了：正则引擎会放弃所有回溯位置。也就是说，它不会尝试再从“smashing”里查找“this”。为什么要这样设置？因为“his”都没有返回匹配结果，包含有“his”的“this”当然就更匹配不了了！<br/>上面的例子并没有什么实用性，我们用/t?his?/&nbsp;也能达到效果。再看看下面的例子：<br/>1<br/>/\b(engineer|engrave|end)\b/<br/>如果把“engineering”拿去匹配，正则引擎会先匹配到“engineer”，但接下来就遇到了字词边界，\b，所以匹配不成功。然后，正则引擎又会尝试在字串里寻找下一个匹配内容：engrave。匹配到eng的时候，后面的又对不上了，匹配失败。最后，尝试“end”，结果同样是失败。仔细观察，你会发现，一旦engineer匹配失败，并且都抵达了字词边界，“engrave”和“end”这两个词就已经不可能匹配成功了。这两个词都比engineer短小，正则引擎不应该再多做无谓的尝试。<br/>1<br/>/\b(?&gt;engineer|engrave|end)\b/<br/>上面的替代写法更能节省正则引擎的匹配时间，提高代码的工作效率。<br/>6.&nbsp;递归(Recursion)<br/><br/><br/>递归(Recursion)用于匹配嵌套结构，例如括弧嵌套，&nbsp;(this&nbsp;(that))，HTML标签嵌套<br/>。我们使用(?R)来代表递归过程中的子模式。下面是一个匹配嵌套括弧的例子：<br/>1<br/>/\(((?&gt;[^()]+)|(?R))*\)/<br/>最外层使用了反义符的括号“(”匹配嵌套结构的开端。然后是一个多选项操作符(&nbsp;*&nbsp;|&nbsp;*&nbsp;)，可能匹配除括号外的所有字符&nbsp;“(?&gt;[^()]+)”，也可能是通过子模式“(?R)”来再次匹配整个表达式。请注意，这个操作符会尽量多地匹配所有嵌套。<br/>递归的另一个实例如下：<br/>1<br/>/&lt;([\w]+).*?&gt;((?&gt;[^&lt;&gt;]+)|((?R)))*&lt;\/\1&gt;/<br/>以上表达式综合运用了字符分组，贪婪操作符、回溯，以及最小化组团来匹配嵌套标签。第一个括弧内分组([\w]+)匹配出标签名，用于接下来的应用。若找到这尖括号样式的标签，则尝试寻找标签内容的剩余部分。下一个括弧括起来的子表达式和上一个实例非常相似：要么匹配不包括尖括号的所有字符&nbsp;?&gt;[^&lt;&gt;]+，要么递归匹配整个表达式(?R)。表达式最后的&lt;\/1&gt;代表闭合标签。<br/>7.&nbsp;回调(Callbacks)<br/><br/><br/>匹配结果中的特定内容有时可能会需要某种特别的修改。要应用多重而复杂的修改，正则表达式的回调就有了用武之地。回调是用于函数preg_replace_callback中的动态修改字串的方式。你可以为preg_replace_callback指定某个函数为参数，此函数能接收匹配结果数组为参数，并将数组修改后返回，作为替换的结果。<br/>例如，我们想将某字串中的单词全部转换为首字母大写。十分不巧，PHP没有直接转化字母大小写的正则操作符。要完成这项任务，就可以用到正则回调。首先，我们要匹配出所有需要被大写的字母：<br/>1<br/>/\b\w/<br/>上式同时使用了字词边界和字符类。光有这个式子还不够，我们还需要一个回调函数：<br/>1<br/>function&nbsp;upper_case(&nbsp;$matches&nbsp;)&nbsp;{<br/>2<br/>return&nbsp;strtoupper(&nbsp;$matches[0]&nbsp;);<br/>3<br/>}<br/>函数upper_case接收匹配结果数组，并将整个匹配结果转化成大写。&nbsp;在此例中，$matches[0]代表需要被大写的字母。然后，我们再利用preg_replace_callback完成这次回调：<br/>1<br/>preg_replace_callback(&nbsp;&#39;/\b\w/&#39;,&nbsp;&#39;upper_case&#39;,&nbsp;$str&nbsp;);<br/>一个简单的回调即有这般强大的力量。<br/>8.&nbsp;注释(Commenting)<br/><br/><br/>注释不用来匹配字串，但确实是正则表达式中最重要的部分。当正则越写越深入，越写越复杂，要推译出究竟什么东西被匹配就会变得越来越困难。在正则表达式中间加上注释，是最小化将来的迷糊和困惑的最佳方式。<br/>要在正则表达式内部加上注释，使用(?#comment)格式。把“comment”替换成你的注释语句：<br/>1<br/>/(?#数字)\d/<br/>如果你打算把代码公之于众，为正则表达式加上注释就显得尤为重要。这样别人才能更容易看懂和修改你的代码。和其他场合的注释一样，这样做也能为你重访自己以前写的程序时提供方便。<br/>考虑使用“x”或“(?x)”标记位来格式化注释。这个修改器让正则引擎忽略表达式参数之间的空格。“有用的”空格仍然能够通过[&nbsp;]或\s，或者\&nbsp;（反义符加空格）来匹配。<br/>1<br/>/<br/>2<br/>\d&nbsp;&nbsp;&nbsp;&nbsp;#digit<br/>3<br/>[&nbsp;]&nbsp;&nbsp;&nbsp;#space<br/>4<br/>\w+&nbsp;&nbsp;&nbsp;#word<br/>5<br/>/x<br/>上面的代码与下面的式子作用一样：<br/>1<br/>/\d(?#digit)[&nbsp;](?#space)\w+(?#word)/<br/>请时刻注意代码的可读性。<br/>更多资源（英文）<br/><br/>Regular-Expressions.info&nbsp;Comprehensive&nbsp;website&nbsp;on&nbsp;regular&nbsp;expressions<br/>Cheat&nbsp;SheetInformative&nbsp;regular&nbsp;expressions&nbsp;cheat&nbsp;sheet<br/>Regex&nbsp;GeneratorJavaScript&nbsp;regular&nbsp;expressions&nbsp;generator<br/>关于作者<br/><br/>Karthik&nbsp;Viswanathan&nbsp;是一个喜欢编程和做网站的高中生。你可以到他的博客上查看他的作品：Lateral&nbsp;Code。你也可以关注一下他的线上Twitter应用。]]></description>
		</item>
		
			<item>
			<link>http://www.zxboy.com/default.asp?id=261</link>
			<title><![CDATA[runassystem]]></title>
			<author>unknow@gmail.com(admin)</author>
			<category><![CDATA[技术]]></category>
			<pubDate>Fri,11 Mar 2011 16:58:40 +0800</pubDate>
			<guid>http://www.zxboy.com/default.asp?id=261</guid>	
		<description><![CDATA[sc&nbsp;Cr&#101;ate&nbsp;sysCMD&nbsp;binPath=&nbsp;&#34;cmd&nbsp;/K&nbsp;start&#34;&nbsp;type=&nbsp;own&nbsp;type=&nbsp;interact<br/>sc&nbsp;start&nbsp;sysCMD]]></description>
		</item>
		
			<item>
			<link>http://www.zxboy.com/default.asp?id=260</link>
			<title><![CDATA[花开花落又是一季,春天啊,你在哪里]]></title>
			<author>unknow@gmail.com(admin)</author>
			<category><![CDATA[情感]]></category>
			<pubDate>Mon,07 Feb 2011 20:38:27 +0800</pubDate>
			<guid>http://www.zxboy.com/default.asp?id=260</guid>	
		<description><![CDATA[老男孩-筷子兄弟<br/>《老男孩》电影原声<br/><br/>那是我日夜思念&nbsp;深深爱着的人啊<br/>到底我该如何表达，她会接受我吗<br/>也许永远都不会跟她说出那句话<br/>注定我要浪迹天涯，怎么能有牵挂<br/>梦想总是遥不可及，是不是应该放弃<br/>花开花落又是一季,春天啊,你在哪里。<br/><br/>青春如同奔流的江河，一去不回来不及道别<br/>只剩下麻木的我没有了当年的热血<br/>看那漫天飘零的花朵<br/>在最美丽的时刻凋谢<br/>有谁会记得这世界它来过<br/><br/>转眼过去，多年世间，多少离合悲欢<br/>曾经志在四方少年羡慕南飞的雁<br/>各自奔前程的身影匆匆渐行渐远<br/>未来在哪里平凡，啊..谁给我答案<br/>那时陪伴我的人哪，你们如今在何方<br/>我曾经爱过的人啊，现在是什么模样<br/><br/>当初的愿望实现了吗，事到如今只好祭奠吗<br/>任岁月风干理想再也找不回真的我<br/>抬头仰望这漫天星河，那时候陪伴我的那颗<br/>这里的故事&nbsp;你是否还记得。<br/><br/>生活像一把无情刻刀，改变了我们模样。<br/>未曾绽放就要枯萎吗，我有过梦想..<br/><br/>==================================<br/>还记得自己当年的誓言，还记得自己的自命不凡。。。。<br/>无奈。。。<br/>之余<br/>还记得自己的梦想<br/>永不言弃<br/><br/><br/><br/><br/><br/>我的青春不用祭奠，我的青春只会越刻越美<br/><br/><br/><br/><br/>]]></description>
		</item>
		
</channel>
</rss>
