<?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>Jean - 记录成长历程 &#187; 正则</title>
	<atom:link href="http://www.zhangyiqun.net/tag/%e6%ad%a3%e5%88%99/feed" rel="self" type="application/rss+xml" />
	<link>http://www.zhangyiqun.net</link>
	<description>让世界更美好一点儿</description>
	<lastBuildDate>Wed, 07 Dec 2011 14:04:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>[正则]表达式的匹配原理2</title>
		<link>http://www.zhangyiqun.net/11.html</link>
		<comments>http://www.zhangyiqun.net/11.html#comments</comments>
		<pubDate>Fri, 20 Feb 2009 16:51:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[脚本编程]]></category>
		<category><![CDATA[正则]]></category>
		<category><![CDATA[正则原理]]></category>
		<category><![CDATA[笔记]]></category>

		<guid isPermaLink="false">http://www.zhangyiqun.cn/?p=11</guid>
		<description><![CDATA[  表达式主导与文本主导 NFA引擎 ：表达式主导 当用he(te&#124;nigh&#124;llo)匹配文本 hello world 时 ，he会先从括号中提取te然后nigh然后llo ，当进行到时llo时整个表达式匹配成功。这种表达式的控制权在不同的元素之间转换，所以称它为“表达式主导” DFA引擎：文本主导 当用he(te&#124;nigh&#124;llo)匹配文本 hello world 时 ，引擎会同时对te,nigh,llo进行检查。这种方式为“文本主导”，是因为它扫描的字符串中的每个字符都对引擎进行了控制。   比较NFA与DFA 一般情况下DFA比NFA要快。 NFA为创造性思维提供了丰富的施展空间。一个调教好的表达式能带来许多收益，调教的不好则会带来严重后果。 注：NFA类似手动挡汽车 回溯 NFA最重要的性质是，它会依次处理各个表达式或组成元素。当遇到需要在两个可能成功的条件中进行选择时，它会选择其一，同时记住另一个，留作候选。 这与当年玩仙剑很像，进入一个迷宫遇到岔口时，需要在每个岔口留下一些记号，如果走了思路就可以按原路返回，直到成功到达目的地为止。 在很多情况下正则引擎必须在两个或多个选项中做出选择。 回溯的两个要点 1.在“进行尝试”和“跳过尝试”之间选择时，对于匹配优先量词，引擎会优先选择“进行尝试”，而对于忽略优先量词，会选择“跳过尝试” 2.距离当前最近存储的选项就是当本地失败强制回溯返回的。就像堆盘子一样，最后叠上去的盘子肯定是最先拿下来的。 注：如果工具软件使用的是NFA主导的回溯引擎，理解正则表达式的回溯原理就成了高效完成任务的关键。 备用状态 在需要的时候，匹配可以从这里重新开始尝试。 回溯与匹配优先 如果用[0-9]+来匹配a 1234 num，[0-9]遇到4之后的空格无法匹配，而此时+号能够回溯的位置对应了四个保存的状态（,号表示进行的位置） a 1,234 num a 12,34 num a 123,4 num a 1234, num 在每个位置，[0-9]的尝试都代表一种可能。 如果用[0-9]*来匹配a 1234 num，这些状态就不会保存。因为有*号，*号限定的部分总能够匹配，所以[0-9]*根本没有触及到那些数字。 匹配优先的问题 1.使用正则匹配”&#8221;中的内容 this “is” [...]<table class="wumii-related-items" cellspacing="0" cellpadding="2" border="0" width="100%" style="clear: both;">
    
    <tr>
        <td ><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F9.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F11.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">[正则]表达式的匹配原理1</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F15.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F11.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">[正则]-匹配数字</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F78.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F11.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">sed与awk学习笔记</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F5.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F11.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">linux入门笔记</font>
                    </a>
                </td>
            </tr>
    
    <tr>
        <td  align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></description>
			<content:encoded><![CDATA[<p> </p>
<h2>表达式主导与文本主导</h2>
<h3>NFA引擎 ：表达式主导</h3>
<p><span>当用he(te|nigh|llo)匹配文本 hello world 时 ，he会先从括号中提取te然后nigh然后llo ，当进行到时llo时整个表达式匹配成功。这种表达式的控制权在不同的元素之间转换，所以称它为“表达式主导”</span></p>
<h3>DFA引擎：文本主导</h3>
<p>当用he(te|nigh|llo)匹配文本 hello world 时 ，引擎会同时对te,nigh,llo进行检查。这种方式为“文本主导”，是因为它扫描的字符串中的每个字符都对引擎进行了控制。</p>
<p> </p>
<h3>比较NFA与DFA</h3>
<p>一般情况下DFA比NFA要快。<br />
NFA为创造性思维提供了丰富的施展空间。一个调教好的表达式能带来许多收益，调教的不好则会带来严重后果。<br />
注：NFA类似手动挡汽车</p>
<p><span id="more-11"></span></p>
<h1>回溯</h1>
<p>NFA最重要的性质是，它会依次处理各个表达式或组成元素。当遇到需要在两个可能成功的条件中进行选择时，它会选择其一，同时记住另一个，留作候选。<br />
这与当年玩仙剑很像，进入一个迷宫遇到岔口时，需要在每个岔口留下一些记号，如果走了思路就可以按原路返回，直到成功到达目的地为止。<br />
在很多情况下正则引擎必须在两个或多个选项中做出选择。</p>
<h3>回溯的两个要点</h3>
<p>1.在“进行尝试”和“跳过尝试”之间选择时，对于匹配优先量词，引擎会优先选择“进行尝试”，而对于忽略优先量词，会选择“跳过尝试”<br />
2.距离当前最近存储的选项就是当本地失败强制回溯返回的。就像堆盘子一样，最后叠上去的盘子肯定是最先拿下来的。<br />
注：如果工具软件使用的是NFA主导的回溯引擎，理解正则表达式的回溯原理就成了高效完成任务的关键。</p>
<p>备用状态<br />
在需要的时候，匹配可以从这里重新开始尝试。</p>
<p>回溯与匹配优先<br />
如果用[0-9]+来匹配a 1234 num，[0-9]遇到4之后的空格无法匹配，而此时+号能够回溯的位置对应了四个保存的状态（,号表示进行的位置）<br />
a 1,234 num<br />
a 12,34 num<br />
a 123,4 num<br />
a 1234, num<br />
在每个位置，[0-9]的尝试都代表一种可能。<br />
如果用[0-9]*来匹配a 1234 num，这些状态就不会保存。因为有*号，*号限定的部分总能够匹配，所以[0-9]*根本没有触及到那些数字。</p>
<p>匹配优先的问题<br />
1.使用正则匹配”&#8221;中的内容<br />
this “is” china i “linux” it<br />
首先可能想到的是用”.*”来匹配<br />
this <span>“is” china i “linux”</span> it<br />
最终红色部分被匹配出来。因为.*属于匹配优先。<br />
此时需要改为”[^"]*”<br />
使用sed的做法是<br />
sed ’s/[^"]*”\([^"]*\)”[^"]*/\1 /g’<br />
2.匹配<strong></strong>中的内容</p>
<p><code>the dragging belly &lt; B &gt;indi11cates&lt; / B&gt; that your cat&lt; / B &gt; is too fat<br />
</code></p>
<p>书中使用perl脚本来实现。sed在功能上不如perl，但是也能够完成这个任务。<br />
sed -n ’s/.*<strong>\(.*\)&lt;\/B&gt;\(.*\)&lt;\/B&gt;.*/ \1 \2 /p’<br />
书中的perl脚本</strong><br />
<strong><span>(?!&lt; B &gt;)匹配&lt; B &gt;&lt; / B &gt;中非&lt;B&gt;的字符</span></strong></p>
<p><span><span>匹配优先和忽略优先都期望获得匹配<br />
固化分组<br />
<span>涉及perl内容，已理解</span></span><span>但未进行深入实验</span></span></p>
<h2>速度和效率</h2>
<p>DFA同时记录了所有可能的匹配，这样来提高速度。DFA引擎需要更多的时间和内存，开始尝试匹配的时候它已经内建了一张路线图（类似于locate）<br />
一般来说，<strong>DFA的速度与正则表达式无关</strong>，而NFA中二者直接相关，表达式的效率问题非常重要。</p>
<p class="MsoNormal"><span>1、除特别说明外，本博客内容皆为原创，可以自由转载传播，但请署名及注明出处，不尊重别人劳动成果的不欢迎；</span></p>
<p><span>2、本博客内容遵守“</span><a href="http://creativecommons.org/licenses/by-nc-nd/2.5/cn/" target="_blank"><span>署名-非商业性使用-禁止演绎 2.5 中国大陆</span></a><span>”协议；</span></p>
<table class="wumii-related-items" cellspacing="0" cellpadding="2" border="0" width="100%" style="clear: both;">
    
    <tr>
        <td ><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F9.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F11.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">[正则]表达式的匹配原理1</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F15.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F11.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">[正则]-匹配数字</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F78.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F11.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">sed与awk学习笔记</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F5.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F11.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">linux入门笔记</font>
                    </a>
                </td>
            </tr>
    
    <tr>
        <td  align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></content:encoded>
			<wfw:commentRss>http://www.zhangyiqun.net/11.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[正则]表达式的匹配原理1</title>
		<link>http://www.zhangyiqun.net/9.html</link>
		<comments>http://www.zhangyiqun.net/9.html#comments</comments>
		<pubDate>Tue, 17 Feb 2009 10:49:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[脚本编程]]></category>
		<category><![CDATA[正则]]></category>
		<category><![CDATA[正则引擎]]></category>
		<category><![CDATA[笔记]]></category>

		<guid isPermaLink="false">http://www.zhangyiqun.cn/?p=9</guid>
		<description><![CDATA[  学习原理的意义 构建正则表达式的方式决定了某个正则表达式能否匹配一个特定字符串，在何处匹配，以及匹配成功或报告失败的速度。 引擎分类 引擎有DFA,NFA 大多数awk使用DFA grep,php使用NFA gnu awk , gnu grep/egrep 属于混合型引擎。 引擎的类型决定了工具的特性。 引擎中的规则 1.优先选择最左端的匹配结果。只关心是否能够匹配，而不是在哪里匹配。 例如用cat来匹配 the dragging belly indicates that your cat is too fat . 2.标准量词是匹配优先的 标准量词(?,*,+,{min,max}) 标准匹配量词的结果“可能”并非所有可能中最长的，但它们总是尝试匹配尽可能多的字符，直到匹配上限为止。 例如[0-9]+可以匹配March 1998中的所有数字。1匹配之后，实际上已经满足了成功的下限，但此时正则表达是匹配优先的，所以它不会停在此处，而会继续下去。 过度的匹配优先 ^subject: (.*).*与subject:(.*)匹配结果一致，开头的.*会霸占整个标题的文本，而不给第二个.*留下任何字符。 强制释放 ^.*([0-9][0-9])能够匹配一行字符的最后两位数字。.*会匹配尽可能多的字符，但为了整个正则表达式的匹配，它们通常要释放一些字符。 例如匹配about 24 char [0-9][0-9]会从.*匹配的字段中从后向前检测，r→h→a→r→ →2如此循环15次知道.*最终释放4为止 [0-9]+能否匹配全部数字？ 不能。匹配优先的结构只会在被迫的情况下交还字符。所以，最终只能匹配一个数字。 本文遵守 署名-非商业性使用-禁止演绎 2.5 中国大陆 使用协议，转载请注明作者及出处。<table class="wumii-related-items" cellspacing="0" cellpadding="2" border="0" width="100%" style="clear: both;">
    
    <tr>
        <td ><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F11.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F9.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">[正则]表达式的匹配原理2</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F15.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F9.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">[正则]-匹配数字</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F78.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F9.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">sed与awk学习笔记</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F5.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F9.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">linux入门笔记</font>
                    </a>
                </td>
            </tr>
    
    <tr>
        <td  align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></description>
			<content:encoded><![CDATA[<p> </p>
<h2>学习原理的意义</h2>
<p>构建正则表达式的<strong>方式</strong>决定了某个正则表达式<strong>能否</strong>匹配一个特定字符串，在<strong>何处</strong>匹配，以及匹配成功或报告失败的<strong>速度</strong>。</p>
<h2>引擎分类</h2>
<p>引擎有DFA,NFA<br />
大多数awk使用DFA<br />
grep,php使用NFA<br />
gnu awk , gnu grep/egrep 属于混合型引擎。<br />
引擎的类型决定了工具的特性。</p>
<p><span id="more-9"></span></p>
<h2>引擎中的规则</h2>
<p>1.优先选择最左端的匹配结果。只关心是否能够匹配，而不是在哪里匹配。<br />
例如用cat来匹配<br />
the dragging belly indicates that your cat is too fat .<br />
2.标准量词是匹配优先的<br />
标准量词(?,*,+,{min,max})<br />
标准匹配量词的结果“可能”并非所有可能中最长的，但它们总是尝试匹配尽可能多的字符，直到<strong>匹配上限</strong>为止。<br />
例如[0-9]+可以匹配March 1998中的所有数字。1匹配之后，实际上已经满足了成功的下限，但此时正则表达是匹配优先的，所以它不会停在此处，而会继续下去。</p>
<h3>过度的匹配优先</h3>
<p>^subject: (.*).*与subject:(.*)匹配结果一致，开头的.*会霸占整个标题的文本，而不给第二个.*留下任何字符。</p>
<h3>强制释放</h3>
<p>^.*([0-9][0-9])能够匹配一行字符的最后两位数字。.*会匹配尽可能多的字符，但为了整个正则表达式的匹配，它们通常要<strong>释放</strong>一些字符。<br />
例如匹配about 24 char<br />
[0-9][0-9]会从.*匹配的字段中从后向前检测，r→h→a→r→ →2如此<strong>循环</strong>15次知道.*最终释放4为止<br />
[0-9]+能否匹配<strong>全部</strong>数字？<br />
不能。<span>匹配优先的结构只会在</span><strong><span>被迫</span></strong><span>的情况下交还字符</span>。所以，最终只能匹配一个数字。</p>
<p>本文遵守 <a href="http://creativecommons.org/licenses/by-nc-nd/2.5/cn/" target="_blank">署名-非商业性使用-禁止演绎 2.5 中国大陆</a> 使用协议，转载请注明作者及出处。</p>
<table class="wumii-related-items" cellspacing="0" cellpadding="2" border="0" width="100%" style="clear: both;">
    
    <tr>
        <td ><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F11.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F9.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">[正则]表达式的匹配原理2</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F15.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F9.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">[正则]-匹配数字</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F78.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F9.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">sed与awk学习笔记</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F5.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F9.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">linux入门笔记</font>
                    </a>
                </td>
            </tr>
    
    <tr>
        <td  align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></content:encoded>
			<wfw:commentRss>http://www.zhangyiqun.net/9.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[正则]-匹配数字</title>
		<link>http://www.zhangyiqun.net/15.html</link>
		<comments>http://www.zhangyiqun.net/15.html#comments</comments>
		<pubDate>Mon, 16 Feb 2009 14:55:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[脚本编程]]></category>
		<category><![CDATA[sed]]></category>
		<category><![CDATA[正则]]></category>

		<guid isPermaLink="false">http://www.zhangyiqun.cn/?p=15</guid>
		<description><![CDATA[今天在shell版块中看到一个提问帖。 有一个c文件： [root@zhang shell]# cat c aa bb.cc 192.168.1.4 aa bb.cc 192.168.1.100 aa bb.cc 192.168.1.1 aa bb.cc 192.168.1.102 aa bb.cc 192.168.1.200 aa bb.cc 192.168.1.201 要打印出192.168.1.100-200的行 怎么我用sed -n ‘/192.168.1.[100-200]/p’ c出来的有1和201的呢？ 因为-（连字符）表示一个范围。所以这里的100-200并未表示100至200间的数字，而是过滤出含有1,0,2的字段。 解决办法 sed -n ‘/192.168.1.[12][0-9][0-9]/p’ 原帖地址 http://bbs2.chinaunix.net/viewthread.php?tid=1371094&#38;extra=&#38;page=2 我的回答在第13楼<table class="wumii-related-items" cellspacing="0" cellpadding="2" border="0" width="100%" style="clear: both;">
    
    <tr>
        <td ><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F11.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F15.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">[正则]表达式的匹配原理2</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F9.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F15.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">[正则]表达式的匹配原理1</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F78.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F15.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">sed与awk学习笔记</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F1773.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F15.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">我的站立式工作平台</font>
                    </a>
                </td>
            </tr>
    
    <tr>
        <td  align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></description>
			<content:encoded><![CDATA[<p>今天在shell版块中看到一个提问帖。<br />
有一个c文件：<br />
[root@zhang shell]# cat c<br />
aa bb.cc 192.168.1.4<br />
aa bb.cc 192.168.1.100<br />
aa bb.cc 192.168.1.1<br />
aa bb.cc 192.168.1.102<br />
aa bb.cc 192.168.1.200<br />
aa bb.cc 192.168.1.201<br />
要打印出192.168.1.100-200的行<br />
怎么我用sed -n ‘/192.168.1.[100-200]/p’ c出来的有1和201的呢？<br />
因为-（连字符）表示一个范围。所以这里的100-200并未表示100至200间的数字，而是过滤出含有1,0,2的字段。<br />
解决办法<br />
sed -n ‘/192.168.1.[12][0-9][0-9]/p’</p>
<p>原帖地址 http://bbs2.chinaunix.net/viewthread.php?tid=1371094&amp;extra=&amp;page=2<br />
我的回答在第13楼</p>
<p style="margin:0;padding:0;height:1px;overflow:hidden;">
    <script type="text/javascript"><!--
        var wumiiSitePrefix = "http://www.zhangyiqun.net";
        var wumiiEnableCustomPos = false;
        var wumiiParams = "&#038;num=4&#038;mode=3&#038;displayInFeed=1&#038;version=1.0.5.5&#038;pf=WordPress3.2.1";
    //--></script><script type="text/javascript" src="http://widget.wumii.com/ext/relatedItemsWidget.htm"></script><a href="http://www.wumii.com/widget/relatedItems.htm" style="border:0;"><img src="http://static.wumii.com/images/pixel.png" alt="无觅相关文章插件，快速提升流量" style="border:0;padding:0;margin:0;" /></a></p>
<table class="wumii-related-items" cellspacing="0" cellpadding="2" border="0" width="100%" style="clear: both;">
    
    <tr>
        <td ><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F11.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F15.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">[正则]表达式的匹配原理2</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F9.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F15.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">[正则]表达式的匹配原理1</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F78.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F15.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">sed与awk学习笔记</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.zhangyiqun.net%2F967.html&from=http%3A%2F%2Fwww.zhangyiqun.net%2F15.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">适用于vps的轻量级流量监控统计工具vnstat</font>
                    </a>
                </td>
            </tr>
    
    <tr>
        <td  align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></content:encoded>
			<wfw:commentRss>http://www.zhangyiqun.net/15.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced

Served from: www.zhangyiqun.net @ 2012-02-09 12:05:23 -->
