<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>潘魏增</title>
	<atom:link href="http://panweizeng.com/feed" rel="self" type="application/rss+xml" />
	<link>http://panweizeng.com</link>
	<description>活在回忆里,细数时间下过的蛋.</description>
	<lastBuildDate>Wed, 03 Mar 2010 11:46:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0-alpha</generator>
		<item>
		<title>php手册阅读</title>
		<link>http://panweizeng.com/archives/868</link>
		<comments>http://panweizeng.com/archives/868#comments</comments>
		<pubDate>Wed, 03 Mar 2010 11:46:30 +0000</pubDate>
		<dc:creator>Pan</dc:creator>
				<category><![CDATA[动态]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://panweizeng.com/?p=868</guid>
		<description><![CDATA[php提供的库函要比Javascript丰富，于是容易对php手册产生畏惧心里。虽然手册非常庞杂，如果坚持下来，浏览一遍难度并不是太大。 
整理一下我觉得比较重要的知识点，供阅读参考。
内置函数组：
date/time
string
array的各种操作
加密相关
数据库相关
文件系统
邮件
session
其他：
curl库
xcache
memcache
]]></description>
			<content:encoded><![CDATA[<p>php提供的库函要比Javascript丰富，于是容易对php手册产生畏惧心里。虽然手册非常庞杂，如果坚持下来，浏览一遍难度并不是太大。 </p>
<p>整理一下我觉得比较重要的知识点，供阅读参考。<br />
内置函数组：<br />
date/time<br />
string<br />
array的各种操作<br />
加密相关<br />
数据库相关<br />
文件系统<br />
邮件<br />
session<br />
其他：<br />
curl库<br />
xcache<br />
memcache</p>
]]></content:encoded>
			<wfw:commentRss>http://panweizeng.com/archives/868/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>春节回家记</title>
		<link>http://panweizeng.com/archives/864</link>
		<comments>http://panweizeng.com/archives/864#comments</comments>
		<pubDate>Fri, 26 Feb 2010 05:56:26 +0000</pubDate>
		<dc:creator>Pan</dc:creator>
				<category><![CDATA[动态]]></category>
		<category><![CDATA[春节]]></category>

		<guid isPermaLink="false">http://panweizeng.com/?p=864</guid>
		<description><![CDATA[回家前和小权去三元桥附近的售票点通宵排队博票，感谢小权把第一个的位置让给我，让我顺利买到了回家的卧铺票。来北方七年多，第一次不用坐着回家。
1月10日下午6点45分坐T189回柳州，11日晚上9:30左右到达柳州，然后和老邓吃了螺蛳粉，在他家过夜。12日早晨7:30坐直达快班回家。
回家前，给老邓、妹妹和表妹各买了一盒费列罗巧克力，给爸爸买了吉列突破系列的刮胡刀，给妈妈和外婆各买了一个谭木匠的檀木梳子。后来发现在家这边的超市，巧克力和刮胡刀都有卖的，太失败了。这几样东西家里都觉得不好，太浪费钱，明年我也不会买了，再说这里的超市东西也很全。
13日，除夕，因为妹妹作手机销售的兼职，今年只有我和妈妈回外婆家吃年夜饭。二叔三叔两家在一起吃饭，人很多，其乐融融。表妹今年瞒着父母去湖南娄底的男友家，当大叔知道后非常生气却也无可奈何。妈的，这小混蛋还没让我们见过面，就这样把我表妹拐走了。农村没什么变化，在北京呆久了，在外婆家觉得这里特别亲切。南方的春天特别早，一眼望去，已经全部是绿色。南方也许是没有冬天的，只有一个季节比较冷。
14日，初一，凌晨时分，家家户户在放鞭炮，特别热闹。
15日，初二，按照风俗，今天是回娘家的日子，姑姑阿姨都来外婆家。吃过午饭后，就回了自己的家。
16日，初三，无聊去逛街，看看家乡的变化。和其他小城镇一样，现在家这边的房地产也在不断的开发。红河时代广场、岭南榕园和翠鸣苑看起来都还不错，不过岭南榕园有栋楼建得太高，貌似因为地基较次等问题没人敢买，目前都快成烂尾楼了。在街上买了两张电影盘，以前没看过《疯狂的赛车》和《机器战警3》，放假正好有时间补回来。
17日，初四，买了去柳州的汽车票，买了火车上吃的东西。
18日，初五，下午2点半坐直达快班到柳州。晚上11:50坐上了K158列车，开始了又一个炼狱之旅。上车后要做的第一件事情就是把自己催眠成一只猪。
19日，初六，在K158列车上。在拥挤的车厢中，拥抱孤独，无助，以及渺小感。
20日，初七，凌晨，几近崩溃。这最后的几个小时总是最难熬，总是在不断冲击人体忍耐的极限。全身酸痛，感觉自己要开始变成小怪兽。列车终于在早上10点抵达北京，晚点了3个小时，这次炼狱一共经历了34个小时。炼狱的过程让人痛苦，但是结果还是比较满意的，毕竟相比飞机，能省1500人民币呢。明年估计不能这么熬，身体越来越经不起折腾。
总结这次回家的经验：
1. 火车站博票买除夕前三天的火车票，需要去得非常早。即使预售前一天晚上11点去，各个窗口都排了十来号人。售票点排队可以凌晨三点左右去，但需要保证排在第10个以前。排队博票需要两个人以上轮流站岗，否则将会成为你痛苦的回忆。火车站博票带好凳子即可，售票点则注意防寒；
2. 这次下车后立即购买了返程车票，但还是只能买到慢车的座票。所以应该提前让柳州的同学帮买会比较好，不知道北京能不能买柳州的返程票；
3. 坐火车要带上眼罩和眼睛盒，休息的时候很有帮助；
4. 在火车吃的食物最好带些水果、方便面。水果补充水分，并充当一部分食物，橘子和苹果都不错。方便面补充体力，因为是热的，对胃也好不少。
]]></description>
			<content:encoded><![CDATA[<p>回家前和小权去三元桥附近的售票点通宵排队博票，感谢小权把第一个的位置让给我，让我顺利买到了回家的卧铺票。来北方七年多，第一次不用坐着回家。</p>
<p>1月10日下午6点45分坐T189回柳州，11日晚上9:30左右到达柳州，然后和老邓吃了螺蛳粉，在他家过夜。12日早晨7:30坐直达快班回家。<br />
回家前，给老邓、妹妹和表妹各买了一盒费列罗巧克力，给爸爸买了吉列突破系列的刮胡刀，给妈妈和外婆各买了一个谭木匠的檀木梳子。后来发现在家这边的超市，巧克力和刮胡刀都有卖的，太失败了。这几样东西家里都觉得不好，太浪费钱，明年我也不会买了，再说这里的超市东西也很全。</p>
<p>13日，除夕，因为妹妹作手机销售的兼职，今年只有我和妈妈回外婆家吃年夜饭。二叔三叔两家在一起吃饭，人很多，其乐融融。表妹今年瞒着父母去湖南娄底的男友家，当大叔知道后非常生气却也无可奈何。妈的，这小混蛋还没让我们见过面，就这样把我表妹拐走了。农村没什么变化，在北京呆久了，在外婆家觉得这里特别亲切。南方的春天特别早，一眼望去，已经全部是绿色。南方也许是没有冬天的，只有一个季节比较冷。<br />
14日，初一，凌晨时分，家家户户在放鞭炮，特别热闹。<br />
15日，初二，按照风俗，今天是回娘家的日子，姑姑阿姨都来外婆家。吃过午饭后，就回了自己的家。<br />
16日，初三，无聊去逛街，看看家乡的变化。和其他小城镇一样，现在家这边的房地产也在不断的开发。红河时代广场、岭南榕园和翠鸣苑看起来都还不错，不过岭南榕园有栋楼建得太高，貌似因为地基较次等问题没人敢买，目前都快成烂尾楼了。在街上买了两张电影盘，以前没看过《疯狂的赛车》和《机器战警3》，放假正好有时间补回来。<br />
17日，初四，买了去柳州的汽车票，买了火车上吃的东西。<br />
18日，初五，下午2点半坐直达快班到柳州。晚上11:50坐上了K158列车，开始了又一个炼狱之旅。上车后要做的第一件事情就是把自己催眠成一只猪。<br />
19日，初六，在K158列车上。在拥挤的车厢中，拥抱孤独，无助，以及渺小感。<br />
20日，初七，凌晨，几近崩溃。这最后的几个小时总是最难熬，总是在不断冲击人体忍耐的极限。全身酸痛，感觉自己要开始变成小怪兽。列车终于在早上10点抵达北京，晚点了3个小时，这次炼狱一共经历了34个小时。炼狱的过程让人痛苦，但是结果还是比较满意的，毕竟相比飞机，能省1500人民币呢。明年估计不能这么熬，身体越来越经不起折腾。</p>
<p>总结这次回家的经验：<br />
1. 火车站博票买除夕前三天的火车票，需要去得非常早。即使预售前一天晚上11点去，各个窗口都排了十来号人。售票点排队可以凌晨三点左右去，但需要保证排在第10个以前。排队博票需要两个人以上轮流站岗，否则将会成为你痛苦的回忆。火车站博票带好凳子即可，售票点则注意防寒；<br />
2. 这次下车后立即购买了返程车票，但还是只能买到慢车的座票。所以应该提前让柳州的同学帮买会比较好，不知道北京能不能买柳州的返程票；<br />
3. 坐火车要带上眼罩和眼睛盒，休息的时候很有帮助；<br />
4. 在火车吃的食物最好带些水果、方便面。水果补充水分，并充当一部分食物，橘子和苹果都不错。方便面补充体力，因为是热的，对胃也好不少。</p>
]]></content:encoded>
			<wfw:commentRss>http://panweizeng.com/archives/864/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>在python的urllib2中使用socks代理</title>
		<link>http://panweizeng.com/archives/855</link>
		<comments>http://panweizeng.com/archives/855#comments</comments>
		<pubDate>Fri, 26 Feb 2010 02:41:16 +0000</pubDate>
		<dc:creator>Pan</dc:creator>
				<category><![CDATA[动态]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://panweizeng.com/?p=855</guid>
		<description><![CDATA[python2.5中的urllib2支持http代理，不支持socks代理。假如代码库或者编码时使用了urllib2，同时又要使用socks，就需要第三方的库来实现。幸运的是，已经有人造好了轮子。
SocksiPy是一个socks module。它提供了一个类socket的接口，支持socks4、socks5和http proxy。下载后在代码中引用socks.py即可，也可以写个setup.py文件安装到python的site-packages目录中。
使用时，将下面的代码放在调用urllib2的代码之前即可：
import socks
import socket
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, &#34;127.0.0.1&#34;, 8080)
socket.socket = socks.socksocket
import urllib2
print urllib2.urlopen('http://panweizeng.com').read()
如果是自己写的程序，也可以尝试使用pycurl这个库。ubuntu使用sudo apt-get install python-pycurl python-pycurl-dbg安装。
示例代码
import pycurl
c = pycurl.Curl()
c.setopt(pycurl.URL, 'http://panweizeng.com')
c.setopt(pycurl.PROXY, '127.0.0.1')
c.setopt(pycurl.PROXYPORT, 8080)
c.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_SOCKS5)
c.perform()
如果在程序外部使用socks，推荐使用tsocks。ubuntu中直接使用sudo apt-get install tsocks安装。安装完毕以后需要修改/etc/tsocks.conf。
配置样例如下
# 默认代理服务器
server = 127.0.0.1 
# 代理服务器类型&#160; 
server_type = 5 
# 代理服务器端口
server_port = 8080
使用时，在命令行输入tsocks 程序名即可。例如ubuntu下的epiphany浏览器没有代理设置，如果想使用socks代理，输入tsocks epiphany-browser即可（注意先关闭其他的epiphany实例）。
]]></description>
			<content:encoded><![CDATA[<p>python2.5中的urllib2支持http代理，不支持socks代理。假如代码库或者编码时使用了urllib2，同时又要使用socks，就需要第三方的库来实现。幸运的是，已经有人造好了轮子。</p>
<p><a href="http://sourceforge.net/projects/socksipy/">SocksiPy</a>是一个socks module。它提供了一个类socket的接口，支持socks4、socks5和http proxy。下载后在代码中引用socks.py即可，也可以写个setup.py文件安装到python的site-packages目录中。<br />
使用时，将下面的代码放在调用urllib2的代码之前即可：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">import socks</li>
<li>import socket</li>
<li>socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, &quot;127.0.0.1&quot;, 8080)</li>
<li>socket.socket = socks.socksocket</li>
<li>import urllib2</li>
<li>print urllib2.urlopen('http://panweizeng.com').read()</li></ol></div>
<p>如果是自己写的程序，也可以尝试使用<a href="http://pycurl.sourceforge.net/">pycurl</a>这个库。ubuntu使用sudo apt-get install python-pycurl python-pycurl-dbg安装。<br />
示例代码</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">import pycurl</li>
<li>c = pycurl.Curl()</li>
<li>c.setopt(pycurl.URL, 'http://panweizeng.com')</li>
<li>c.setopt(pycurl.PROXY, '127.0.0.1')</li>
<li>c.setopt(pycurl.PROXYPORT, 8080)</li>
<li>c.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_SOCKS5)</li>
<li>c.perform()</li></ol></div>
<p>如果在程序外部使用socks，推荐使用tsocks。ubuntu中直接使用sudo apt-get install tsocks安装。安装完毕以后需要修改/etc/tsocks.conf。<br />
配置样例如下</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"># 默认代理服务器</li>
<li>server = 127.0.0.1 </li>
<li># 代理服务器类型&nbsp; </li>
<li>server_type = 5 </li>
<li># 代理服务器端口</li>
<li>server_port = 8080</li></ol></div>
<p>使用时，在命令行输入<strong>tsocks 程序名</strong>即可。例如ubuntu下的epiphany浏览器没有代理设置，如果想使用socks代理，输入tsocks epiphany-browser即可（注意先关闭其他的epiphany实例）。</p>
]]></content:encoded>
			<wfw:commentRss>http://panweizeng.com/archives/855/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何使用ssh tunnel获取优秀的网络信息</title>
		<link>http://panweizeng.com/archives/842</link>
		<comments>http://panweizeng.com/archives/842#comments</comments>
		<pubDate>Sun, 01 Nov 2009 02:29:10 +0000</pubDate>
		<dc:creator>Pan</dc:creator>
				<category><![CDATA[动态]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://panweizeng.com/?p=842</guid>
		<description><![CDATA[由于众所周知的原因，学会获取优秀网络信息已经成为程序员的一个必备技能，甚至在面试中成为甄别优秀程序员的辅助判断。尝试若干方法后，发现使用ssh tunnel最简单高效。具体可以man一下ssh，寻找-D的选项说明。整个过程(包括解析dns)都是经过加密的，安全可靠。
建立tunnel后，还需要作的事情：
1. ssh自动登录
2. crontab防止掉线
3. 选择浏览器插件
以上方法有效的大前提是远程主机没有沦陷。
]]></description>
			<content:encoded><![CDATA[<p>由于众所周知的原因，学会获取优秀网络信息已经成为程序员的一个必备技能，甚至在面试中成为甄别优秀程序员的辅助判断。尝试若干方法后，发现使用<a href="http://www.google.com/search?q=ssh+tunnel">ssh tunnel</a>最简单高效。具体可以man一下ssh，寻找-D的选项说明。整个过程(包括解析dns)都是经过加密的，安全可靠。</p>
<p>建立tunnel后，还需要作的事情：<br />
1. ssh自动登录<br />
2. crontab防止掉线<br />
3. 选择浏览器插件</p>
<p>以上方法有效的大前提是远程主机没有沦陷。</p>
]]></content:encoded>
			<wfw:commentRss>http://panweizeng.com/archives/842/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CURL基于cookie的自动登录脚本</title>
		<link>http://panweizeng.com/archives/665</link>
		<comments>http://panweizeng.com/archives/665#comments</comments>
		<pubDate>Fri, 16 Oct 2009 15:11:58 +0000</pubDate>
		<dc:creator>Pan</dc:creator>
				<category><![CDATA[学习]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://panweizeng.com/?p=665</guid>
		<description><![CDATA[放在crontab中自动执行登录，有时候挺有用的。
#!/bin/bash
&#160;
# cookie 临时文件
COOKIEFILE=cookie_tmp.txt
&#160;
# 登录
curl $LOGINURL -d&#34;username=$USERNAME&#38;password=$PASSWORD&#38;autologin=1&#34; -c $COOKIEFILE -s
&#160;
RESPONSE=`curl $UPDATEURL -s -b $COOKIEFILE &#124;grep $USERNAME`
TIME=`date +'%Y-%m-%d %H:%M:%S'`
echo &#34;$TIME &#124; $RESPONSE&#34; &#62;&#62; $LOGFILE
完整注释和代码见 http://github.com/panweizeng/home/blob/master/code/shell/curl_login
]]></description>
			<content:encoded><![CDATA[<p>放在crontab中自动执行登录，有时候挺有用的。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">#!/bin/bash</li>
<li>&nbsp;</li>
<li># cookie 临时文件</li>
<li>COOKIEFILE=cookie_tmp.txt</li>
<li>&nbsp;</li>
<li># 登录</li>
<li>curl $LOGINURL -d&quot;username=$USERNAME&amp;password=$PASSWORD&amp;autologin=1&quot; -c $COOKIEFILE -s</li>
<li>&nbsp;</li>
<li>RESPONSE=`curl $UPDATEURL -s -b $COOKIEFILE |grep $USERNAME`</li>
<li>TIME=`date +'%Y-%m-%d %H:%M:%S'`</li>
<li>echo &quot;$TIME | $RESPONSE&quot; &gt;&gt; $LOGFILE</li></ol></div>
<p>完整注释和代码见 <a href="http://github.com/panweizeng/home/blob/master/code/shell/curl_login">http://github.com/panweizeng/home/blob/master/code/shell/curl_login</a></p>
]]></content:encoded>
			<wfw:commentRss>http://panweizeng.com/archives/665/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>收到贤安的赠书一本</title>
		<link>http://panweizeng.com/archives/662</link>
		<comments>http://panweizeng.com/archives/662#comments</comments>
		<pubDate>Mon, 07 Sep 2009 13:41:51 +0000</pubDate>
		<dc:creator>Pan</dc:creator>
				<category><![CDATA[动态]]></category>

		<guid isPermaLink="false">http://panweizeng.com/?p=662</guid>
		<description><![CDATA[是贤安同学(realazy)新的译作《重构HTML:改善Web 应用的设计》。该书已经上架一月多，各计算机书店均有售，网上购书可以到china-pub.com。贤安同学前端基本功和英语翻译都非常好，向大家推荐之。
]]></description>
			<content:encoded><![CDATA[<p>是贤安同学(<a href="http://realazy.org/blog/">realazy</a>)新的译作《<a href="http://www.china-pub.com/195744">重构HTML:改善Web 应用的设计</a>》。该书已经上架一月多，各计算机书店均有售，网上购书可以到<a href="http://www.china-pub.com/195744">china-pub.com</a>。贤安同学前端基本功和英语翻译都非常好，向大家推荐之。</p>
]]></content:encoded>
			<wfw:commentRss>http://panweizeng.com/archives/662/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ipod touch破解后可以作的事情</title>
		<link>http://panweizeng.com/archives/649</link>
		<comments>http://panweizeng.com/archives/649#comments</comments>
		<pubDate>Mon, 20 Jul 2009 13:35:39 +0000</pubDate>
		<dc:creator>Pan</dc:creator>
				<category><![CDATA[学习]]></category>

		<guid isPermaLink="false">http://panweizeng.com/?p=649</guid>
		<description><![CDATA[自从入手Nokia e71，touch曾一度失宠。破解之后，它又重新恢复了青春。
1. 安装海量别人共享的APP，详见http://weiphone.com/forum-36-1.html
2. 通过wifi作移动硬盘（注：windows用户可以直接使用91手机助手）
3. 安装软件，例如lighttpd/vim/wget/curl/python。非常简单。
$su root
$apt-get install sudo
$apt-get install wget
$apt-get install vim
$apt-get install python
$apt-get install curl
$apt-get install lighttpd
参考破解教程地址：http://www.weiphone.com/viewthread.php?tid=337294&#8230;
]]></description>
			<content:encoded><![CDATA[<p>自从入手Nokia e71，touch曾一度失宠。破解之后，它又重新恢复了青春。</p>
<p>1. 安装海量别人共享的APP，详见<a href="http://weiphone.com/forum-36-1.html">http://weiphone.com/forum-36-1.html</a><br />
2. 通过wifi作移动硬盘（注：windows用户可以直接使用91手机助手）<br />
3. 安装软件，例如lighttpd/vim/wget/curl/python。非常简单。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">$su root</li>
<li>$apt-get install sudo</li>
<li>$apt-get install wget</li>
<li>$apt-get install vim</li>
<li>$apt-get install python</li>
<li>$apt-get install curl</li>
<li>$apt-get install lighttpd</li></ol></div>
<p>参考破解教程地址：<a href="http://www.weiphone.com/viewthread.php?tid=337294&#038;extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D39">http://www.weiphone.com/viewthread.php?tid=337294&#8230;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://panweizeng.com/archives/649/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>重装ubuntu</title>
		<link>http://panweizeng.com/archives/640</link>
		<comments>http://panweizeng.com/archives/640#comments</comments>
		<pubDate>Mon, 20 Jul 2009 12:54:36 +0000</pubDate>
		<dc:creator>Pan</dc:creator>
				<category><![CDATA[学习]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://panweizeng.com/?p=640</guid>
		<description><![CDATA[工作机前几天出现一个.xsession-errors的错误，无法登录桌面环境。google了很多文章均不能解决，无奈下只能重装系统。刻了一张ubuntu 8.10 live cd，然后进入光盘系统。
首先需要备份数据，先查看硬盘分区情况。我的分区是swap 2GB，/根20GB，剩下都作/home, 大概130GB。
$ sudo fdisk -l&#160;
Disk /dev/sda: 160.0&#160;GB, 160041885696 bytes
255&#160;heads, 63 sectors/track, 19457 cylinders
Units = cylinders&#160;of 16065 * 512 = 8225280 bytes
Disk&#160;identifier: 0xd10cd10c
&#160;
Device&#160;Boot&#160; &#160; &#160; Start&#160; &#160; &#160; &#160;&#160; End&#160; &#160; &#160; Blocks&#160;&#160; Id&#160; System
/dev/sda1&#160; &#160; &#160; &#160; &#160; &#160; &#160;&#160; 1&#160; &#160; &#160; &#160;&#160; 243&#160; &#160;&#160; 1951866&#160;&#160; 82&#160; Linux&#160;swap / Solaris&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>工作机前几天出现一个.xsession-errors的错误，无法登录桌面环境。google了很多文章均不能解决，无奈下只能重装系统。刻了一张ubuntu 8.10 live cd，然后进入光盘系统。<br />
首先需要备份数据，先查看硬盘分区情况。我的分区是swap 2GB，/根20GB，剩下都作/home, 大概130GB。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Gray;">$ </span><span style="color: Blue;">sudo</span><span style="color: Gray;"> </span><span style="color: Blue;">fdisk</span><span style="color: Gray;"> -</span><span style="color: Blue;">l</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">Disk</span><span style="color: #8b0000;"> /</span><span style="color: Red;">dev</span><span style="color: #8b0000;">/s</span><span style="color: Blue;">da</span><span style="color: Gray;">: </span><span style="color: Maroon;">160.0</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">GB</span><span style="color: Gray;">, </span><span style="color: Maroon;">160041885696</span><span style="color: Gray;"> </span><span style="color: Blue;">bytes</span></li>
<li><span style="color: Maroon;">255</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">heads</span><span style="color: Gray;">, </span><span style="color: Maroon;">63</span><span style="color: Gray;"> </span><span style="color: Blue;">sectors</span><span style="color: Gray;">/</span><span style="color: Blue;">track</span><span style="color: Gray;">, </span><span style="color: Maroon;">19457</span><span style="color: Gray;"> </span><span style="color: Blue;">cylinders</span></li>
<li><span style="color: Blue;">Units</span><span style="color: Gray;"> = </span><span style="color: Blue;">cylinders</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">of</span><span style="color: Gray;"> </span><span style="color: Maroon;">16065</span><span style="color: Gray;"> * </span><span style="color: Maroon;">512</span><span style="color: Gray;"> = </span><span style="color: Maroon;">8225280</span><span style="color: Gray;"> </span><span style="color: Blue;">bytes</span></li>
<li><span style="color: Blue;">Disk</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">identifier</span><span style="color: Gray;">: </span><span style="color: Maroon;">0</span><span style="color: Blue;">xd10cd10c</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">Device</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">Boot</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">Start</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">End</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">Blocks</span><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Blue;">Id</span><span style="color: Gray;">&nbsp; </span><span style="color: Blue;">System</span></li>
<li><span style="color: Gray;">/</span><span style="color: Blue;">dev</span><span style="color: Gray;">/</span><span style="color: Blue;">sda1</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Maroon;">1</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Maroon;">243</span><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Maroon;">1951866</span><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Maroon;">82</span><span style="color: Gray;">&nbsp; </span><span style="color: Blue;">Linux</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">swap</span><span style="color: #8b0000;"> /</span><span style="color: Red;"> Solaris&nbsp; #swap分区 2GB&nbsp; </span></li>
<li><span style="color: #8b0000;">/</span><span style="color: Blue;">dev</span><span style="color: Gray;">/</span><span style="color: Blue;">sda2</span><span style="color: Gray;">&nbsp;&nbsp; *&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Maroon;">244</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Maroon;">2675</span><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Maroon;">19535040</span><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Maroon;">83</span><span style="color: Gray;">&nbsp; </span><span style="color: Blue;">Linux</span><span style="color: Gray;">&nbsp;</span><span style="color: #ffa500;"># 根分区，即/，20GB </span></li>
<li><span style="color: Gray;">/</span><span style="color: Blue;">dev</span><span style="color: Gray;">/</span><span style="color: Blue;">sda3</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Maroon;">2676</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Maroon;">19457</span><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Maroon;">134801415</span><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Maroon;">5</span><span style="color: Gray;">&nbsp; </span><span style="color: Blue;">Extended</span><span style="color: Gray;">&nbsp;</span><span style="color: #ffa500;">#扩展分区</span></li>
<li><span style="color: Gray;">/</span><span style="color: Blue;">dev</span><span style="color: Gray;">/</span><span style="color: Blue;">sda5</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Maroon;">2676</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Maroon;">19457</span><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Maroon;">134801383</span><span style="color: Gray;">+&nbsp; </span><span style="color: Maroon;">83</span><span style="color: Gray;">&nbsp; </span><span style="color: Blue;">Linux</span><span style="color: Gray;">&nbsp;</span><span style="color: #ffa500;"># /home分区，是放在扩展分区/dev/sda3里面的逻辑分区，最重要的数据在这里</span></li></ol></div>
<p>然后将原来的/home分区mount到/mnt目录下，再复制出数据到移动硬盘</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #00008b;">$sudo</span><span style="color: Gray;"> </span><span style="color: Blue;">mount</span><span style="color: #8b0000;"> /</span><span style="color: Red;">dev</span><span style="color: #8b0000;">/s</span><span style="color: Blue;">da5</span><span style="color: #8b0000;"> /</span><span style="color: Red;">mnt</span></li>
<li><span style="color: Red;">$sudo cp -r </span><span style="color: #8b0000;">/m</span><span style="color: Blue;">nt</span><span style="color: Gray;">/</span><span style="color: Blue;">xp</span><span style="color: Gray;">/*</span><span style="color: #8b0000;"> /</span><span style="color: Red;">media</span><span style="color: #8b0000;">/</span><span style="color: Blue;">OneTouch</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">Mini</span><span style="color: Gray;">/</span><span style="color: Blue;">ubuntu_bak</span><span style="color: Gray;">/</span><span style="color: Blue;">xp</span><span style="color: Gray;">/&nbsp; </span><span style="color: #ffa500;"># .vim/ .mozilla/ .vimrc .bashrc .screenrc .dircolors 这些容易漏</span></li></ol></div>
<p>还需要备份<br />
/etc/hosts  #host文件<br />
/var/www/html #本机web测试目录，扫了一眼也没什么特别需要备份的</p>
<p>开始重装，一路Next到分区步骤，选择手动分区，swap和/根分区不变，其中/根分区选择需要格式化，挂载点还是/。最后/home分区，特别需要注意<strong>不要选择格式化</strong>，挂载点还是/home。</p>
<p>安装完成后第一件事情，自动选择最快的源服务器，然后升级你的系统，再然后选择语言支持，把汉语的包都下载完全。<br />
第二件事情给root设置密码 sudo passwd root (之后安装vmserver需要用)<br />
最后就是安装一堆软件</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">sudo</span><span style="color: Gray;"> </span><span style="color: Blue;">apt</span><span style="color: Gray;">-</span><span style="color: Blue;">get</span><span style="color: Gray;"> </span><span style="color: Blue;">install</span><span style="color: Gray;"> </span><span style="color: Blue;">workrave</span></li>
<li><span style="color: Blue;">sudo</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">apt</span><span style="color: Gray;">-</span><span style="color: Blue;">get</span><span style="color: Gray;"> </span><span style="color: Blue;">install</span><span style="color: Gray;"> </span><span style="color: Blue;">scim</span><span style="color: Gray;">-</span><span style="color: Blue;">chinese</span><span style="color: Gray;"> </span><span style="color: Blue;">scim</span><span style="color: Gray;">-</span><span style="color: Blue;">pinyin</span></li>
<li><span style="color: Blue;">sudo</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">apt</span><span style="color: Gray;">-</span><span style="color: Blue;">get</span><span style="color: Gray;"> </span><span style="color: Blue;">install</span><span style="color: Gray;"> </span><span style="color: Blue;">scim</span><span style="color: Gray;">-</span><span style="color: Blue;">config</span><span style="color: Gray;">-</span><span style="color: Green;">socket</span><span style="color: Gray;"> </span><span style="color: Blue;">scim</span><span style="color: Gray;">-</span><span style="color: Blue;">gtk2</span><span style="color: Gray;">-</span><span style="color: Blue;">immodule</span><span style="color: Gray;"> </span><span style="color: Blue;">scim</span><span style="color: Gray;">-</span><span style="color: Blue;">tables</span><span style="color: Gray;">-</span><span style="color: Blue;">zh</span></li>
<li><span style="color: Blue;">sudo</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">apt</span><span style="color: Gray;">-</span><span style="color: Blue;">get</span><span style="color: Gray;"> </span><span style="color: Blue;">install</span><span style="color: Gray;"> </span><span style="color: Blue;">apache2</span></li>
<li><span style="color: Blue;">sudo</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">apt</span><span style="color: Gray;">-</span><span style="color: Blue;">get</span><span style="color: Gray;"> </span><span style="color: Blue;">install</span><span style="color: Gray;"> </span><span style="color: Blue;">php5</span></li>
<li><span style="color: Blue;">sudo</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">apt</span><span style="color: Gray;">-</span><span style="color: Blue;">get</span><span style="color: Gray;"> </span><span style="color: Blue;">install</span><span style="color: Gray;"> </span><span style="color: Blue;">mysql</span><span style="color: Gray;">-</span><span style="color: Blue;">server</span></li>
<li><span style="color: Blue;">sudo</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">apt</span><span style="color: Gray;">-</span><span style="color: Blue;">get</span><span style="color: Gray;"> </span><span style="color: Blue;">install</span><span style="color: Gray;"> </span><span style="color: Blue;">epiphany</span></li>
<li><span style="color: Blue;">sudo</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">apt</span><span style="color: Gray;">-</span><span style="color: Blue;">get</span><span style="color: Gray;"> </span><span style="color: Blue;">install</span><span style="color: Gray;"> </span><span style="color: Blue;">epiphany</span><span style="color: Gray;">-</span><span style="color: Blue;">browser</span></li>
<li><span style="color: Blue;">sudo</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">apt</span><span style="color: Gray;">-</span><span style="color: Blue;">get</span><span style="color: Gray;"> </span><span style="color: Blue;">install</span><span style="color: Gray;"> </span><span style="color: Blue;">filezilla</span></li>
<li><span style="color: Blue;">sudo</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">apt</span><span style="color: Gray;">-</span><span style="color: Blue;">get</span><span style="color: Gray;"> </span><span style="color: Blue;">install</span><span style="color: Gray;"> </span><span style="color: Blue;">emesene</span></li>
<li><span style="color: Blue;">sudo</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">apt</span><span style="color: Gray;">-</span><span style="color: Blue;">get</span><span style="color: Gray;"> </span><span style="color: Blue;">install</span><span style="color: Gray;"> </span><span style="color: Blue;">build</span><span style="color: Gray;">-</span><span style="color: Blue;">essential</span></li>
<li><span style="color: Blue;">sudo</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">apt</span><span style="color: Gray;">-</span><span style="color: Blue;">get</span><span style="color: Gray;"> </span><span style="color: Blue;">install</span><span style="color: Gray;"> </span><span style="color: Blue;">openssh</span><span style="color: Gray;">-</span><span style="color: Blue;">server</span></li>
<li><span style="color: Blue;">sudo</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">apt</span><span style="color: Gray;">-</span><span style="color: Blue;">get</span><span style="color: Gray;"> </span><span style="color: Blue;">install</span><span style="color: Gray;"> </span><span style="color: Blue;">sun</span><span style="color: Gray;">-</span><span style="color: Blue;">java6</span><span style="color: Gray;">-</span><span style="color: Blue;">jre</span><span style="color: Gray;"> </span><span style="color: Blue;">sun</span><span style="color: Gray;">-</span><span style="color: Blue;">java6</span><span style="color: Gray;">-</span><span style="color: Blue;">plugin</span><span style="color: Gray;"> </span><span style="color: Blue;">sun</span><span style="color: Gray;">-</span><span style="color: Blue;">java6</span><span style="color: Gray;">-</span><span style="color: Blue;">fonts</span></li>
<li><span style="color: Blue;">sudo</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">apt</span><span style="color: Gray;">-</span><span style="color: Blue;">get</span><span style="color: Gray;"> </span><span style="color: Blue;">install</span><span style="color: Gray;"> </span><span style="color: Blue;">vim</span><span style="color: Gray;"> </span><span style="color: Blue;">vim</span><span style="color: Gray;">-</span><span style="color: Blue;">full</span></li>
<li><span style="color: Blue;">sudo</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">apt</span><span style="color: Gray;">-</span><span style="color: Blue;">get</span><span style="color: Gray;"> </span><span style="color: Blue;">install</span><span style="color: Gray;"> </span><span style="color: Blue;">ctags</span></li>
<li><span style="color: Blue;">sudo</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">apt</span><span style="color: Gray;">-</span><span style="color: Blue;">get</span><span style="color: Gray;"> </span><span style="color: Blue;">install</span><span style="color: Gray;"> </span><span style="color: Blue;">kchmviewer</span></li>
<li><span style="color: Blue;">sudo</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">apt</span><span style="color: Gray;">-</span><span style="color: Blue;">get</span><span style="color: Gray;"> </span><span style="color: Blue;">install</span><span style="color: Gray;"> </span><span style="color: Blue;">subversion</span></li>
<li><span style="color: Blue;">sudo</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">apt</span><span style="color: Gray;">-</span><span style="color: Blue;">get</span><span style="color: Gray;"> </span><span style="color: Blue;">install</span><span style="color: Gray;"> </span><span style="color: #8b0000;">qt</span><span style="color: Red;">erm</span></li>
<li><span style="color: Red;">sudo ap</span><span style="color: #8b0000;">t</span><span style="color: Gray;">-</span><span style="color: Blue;">get</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">install</span><span style="color: Gray;"> </span><span style="color: Blue;">python</span><span style="color: Gray;">-</span><span style="color: Blue;">simplejson</span></li>
<li><span style="color: Blue;">sudo</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">apt</span><span style="color: Gray;">-</span><span style="color: Blue;">get</span><span style="color: Gray;"> </span><span style="color: Blue;">install</span><span style="color: Gray;"> </span><span style="color: Blue;">gcolor2</span></li></ol></div>
<p>如果你对thinkpad安装ubuntu感兴趣，可以看这篇文章《<a href="http://panweizeng.com/archives/206">T61安装ubuntu</a>》。</p>
<p>参考文章<br />
<a href="https://help.ubuntu.com/community/LiveCdRecovery"></p>
<p>https://help.ubuntu.com/community/LiveCdRecovery</a></p>
<p><a href="http://ubuntuabc.com/123/?p=38">关于分区</a><br />
<a href="http://ubuntuabc.com/123/?p=23">重装Ubuntu时如何保留/home分区中的数据</a></p>
]]></content:encoded>
			<wfw:commentRss>http://panweizeng.com/archives/640/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>javascript获取正则中的子匹配</title>
		<link>http://panweizeng.com/archives/592</link>
		<comments>http://panweizeng.com/archives/592#comments</comments>
		<pubDate>Fri, 27 Mar 2009 13:54:23 +0000</pubDate>
		<dc:creator>Pan</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://panweizeng.com/?p=592</guid>
		<description><![CDATA[昨天帮朋友处理一段文本正好用到了这个，记录一下。
var str = '&#60;a href=&#34;http://google.com&#34; target=&#34;_blank&#34;&#62;google&#60;/a&#62;123&#60;a title=&#34;百度&#34; href=&#34;http://baidu.com&#34;&#62;baidu&#60;/a&#62;abce&#60;a href=&#34;http://msn.com&#34; class=&#34;msn&#34;&#62;msn&#60;/a&#62;kkk';
var&#160;reg = /&#60;a.*?href=&#34;([^&#34;]*)&#34;[^&#62;]*&#62;([^&#60;]*)&#60;/a&#62;/i; // *? 非贪婪匹配
var arr = [];
while(reg.exec(str)){
&#160; &#160; arr.push({'link':RegExp.$1 , 'text':RegExp.$2});
&#160; &#160; str = RegExp.rightContext;//将str截断
&#160; &#160; reg.lastIndex = 0;//重置下次匹配开始的位置
}
console.info(arr);
另外两种正则表达式语法有一些不同，比如说转义。
#正则表达式语法 1
re = /pattern/[flags]
#正则表达式语法 2
re = new&#160;RegExp(&#34;pattern&#34;,[&#34;flags&#34;])
&#160;
#比如说要匹配&#34;潘魏增(panweizeng)&#34;，同时获取其中的子匹配panweizeng，对应的写法如下
var&#160;reg = /[^(]+(([^)]+))/g;
#这里需要对括号使用两个转义符号
var&#160;reg = new RegExp(&#34;[^\(]+\(([^\)]+)\)&#34;, &#34;g&#34;);
var&#160;submatch;
if(reg.exec(str)){
&#160;&#160; submatch = RegExp.$1;
&#160;&#160; reg.lastIndex = 0;
}
console.info(submatch);
]]></description>
			<content:encoded><![CDATA[<p>昨天帮朋友处理一段文本正好用到了这个，记录一下。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">str</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;a href=&quot;http://google.com&quot; target=&quot;_blank&quot;&gt;google&lt;/a&gt;123&lt;a title=&quot;百度&quot; href=&quot;http://baidu.com&quot;&gt;baidu&lt;/a&gt;abce&lt;a href=&quot;http://msn.com&quot; class=&quot;msn&quot;&gt;msn&lt;/a&gt;kkk</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">reg</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">/</span><span style="color: Red;">&lt;a.*?href=&quot;([^&quot;]*)&quot;[^&gt;]*&gt;([^&lt;]*)&lt;</span><span style="color: #8b0000;">/</span><span style="color: Blue;">a</span><span style="color: Gray;">&gt;</span><span style="color: #8b0000;">/</span><span style="color: Red;">i; </span><span style="color: #8b0000;">//</span><span style="color: Red;"> *? 非贪婪匹配</span></li>
<li><span style="color: Red;">var arr = [];</span></li>
<li><span style="color: Red;">while(reg.exec(str)){</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; arr.push({'link':RegExp.$1 , 'text':RegExp.$2});</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; str = RegExp.rightContext;</span><span style="color: #8b0000;">//</span><span style="color: Red;">将str截断</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; reg.lastIndex = 0;</span><span style="color: #8b0000;">//</span><span style="color: Red;">重置下次匹配开始的位置</span></li>
<li><span style="color: Red;">}</span></li>
<li><span style="color: Red;">console.info(arr);</span></li></ol></div>
<p>另外两种正则表达式语法有一些不同，比如说转义。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Gray;">#正则表达式语法 </span><span style="color: Maroon;">1</span></li>
<li><span style="color: Blue;">re</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">/</span><span style="color: Red;">pattern</span><span style="color: #8b0000;">/</span><span style="color: Olive;">[</span><span style="color: Blue;">flags</span><span style="color: Olive;">]</span></li>
<li><span style="color: Gray;">#正则表达式语法 </span><span style="color: Maroon;">2</span></li>
<li><span style="color: Blue;">re</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;">&nbsp;</span><span style="color: Teal;">RegExp</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">pattern</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: Olive;">[</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">flags</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">])</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">#比如说要匹配</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">潘魏增(panweizeng)</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">，同时获取其中的子匹配</span><span style="color: Blue;">panweizeng</span><span style="color: Gray;">，对应的写法如下</span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">reg</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">/</span><span style="color: Red;">[^(]+(([^)]+))</span><span style="color: #8b0000;">/g</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">#这里需要对括号使用两个转义符号</span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">reg</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Teal;">RegExp</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">[^\(]+\(([^\)]+)\)</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">g</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">submatch</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">reg</span><span style="color: Gray;">.</span><span style="color: Blue;">exec</span><span style="color: Olive;">(</span><span style="color: Blue;">str</span><span style="color: Olive;">)){</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Blue;">submatch</span><span style="color: Gray;"> = </span><span style="color: Teal;">RegExp</span><span style="color: Gray;">.$</span><span style="color: Maroon;">1</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Blue;">reg</span><span style="color: Gray;">.</span><span style="color: Blue;">lastIndex</span><span style="color: Gray;"> = </span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Blue;">console</span><span style="color: Gray;">.</span><span style="color: Blue;">info</span><span style="color: Olive;">(</span><span style="color: Blue;">submatch</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
]]></content:encoded>
			<wfw:commentRss>http://panweizeng.com/archives/592/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>买了件犀牛文化衫</title>
		<link>http://panweizeng.com/archives/576</link>
		<comments>http://panweizeng.com/archives/576#comments</comments>
		<pubDate>Thu, 26 Mar 2009 10:48:45 +0000</pubDate>
		<dc:creator>Pan</dc:creator>
				<category><![CDATA[动态]]></category>

		<guid isPermaLink="false">http://panweizeng.com/?p=576</guid>
		<description><![CDATA[从china-pub.com买了一件犀牛T恤，准备迎接夏天。

]]></description>
			<content:encoded><![CDATA[<p>从<a href="http://www.china-pub.com/">china-pub.com</a>买了一件犀牛T恤，准备迎接夏天。</p>
<p><a href="http://www.china-pub.com/book/product.aspx?id=3000057"><img src="http://panweizeng.com/wp-content/uploads/2009/03/zcover.jpg" alt="What&#039;s New On JavaScript" title="犀牛文化衫" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://panweizeng.com/archives/576/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
