﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-我爱佳娃-随笔分类-正则表达式</title><link>http://www.blogjava.net/alwayscy/category/21266.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 04 Apr 2007 15:24:44 GMT</lastBuildDate><pubDate>Wed, 04 Apr 2007 15:24:44 GMT</pubDate><ttl>60</ttl><item><title>LINUX下正则表达式匹配IP地址</title><link>http://www.blogjava.net/alwayscy/archive/2007/04/04/108472.html</link><dc:creator>我爱佳娃</dc:creator><author>我爱佳娃</author><pubDate>Wed, 04 Apr 2007 08:47:00 GMT</pubDate><guid>http://www.blogjava.net/alwayscy/archive/2007/04/04/108472.html</guid><wfw:comment>http://www.blogjava.net/alwayscy/comments/108472.html</wfw:comment><comments>http://www.blogjava.net/alwayscy/archive/2007/04/04/108472.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/alwayscy/comments/commentRss/108472.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/alwayscy/services/trackbacks/108472.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<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"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">regex_t&nbsp;rt1_;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;cflags&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;RE_SYNTAX_AWK;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;cflags&nbsp;</span><span style="COLOR: #000000">&amp;=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">~</span><span style="COLOR: #000000">REG_NOSUB;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(regcomp&nbsp;(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">rt1_,&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;match:&nbsp;Interesting&nbsp;ports&nbsp;on&nbsp;10.45.8.12:</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;cflags)&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_348_470_Open_Image onclick="this.style.display='none'; Codehighlighter1_348_470_Open_Text.style.display='none'; Codehighlighter1_348_470_Closed_Image.style.display='inline'; Codehighlighter1_348_470_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_348_470_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_348_470_Closed_Text.style.display='none'; Codehighlighter1_348_470_Open_Image.style.display='inline'; Codehighlighter1_348_470_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;</span><span id=Codehighlighter1_348_470_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"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_348_470_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ulogEx(ULOG_LL_WARNING,&nbsp;MESW_DEV_NM,MON_ULOG_MID,MON_ULOG_EC_TRACE,<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%s:&nbsp;reg&nbsp;comp&nbsp;error!\n\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;__func__);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;ip&nbsp;[</span><span style="COLOR: #000000">32</span><span style="COLOR: #000000">];<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;regmatch_t&nbsp;rm&nbsp;[</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;memset&nbsp;(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">rm,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">&nbsp;rm);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;regexec&nbsp;(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">rt1_,&nbsp;pline,&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,&nbsp;rm,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">))<br><img id=Codehighlighter1_591_715_Open_Image onclick="this.style.display='none'; Codehighlighter1_591_715_Open_Text.style.display='none'; Codehighlighter1_591_715_Closed_Image.style.display='inline'; Codehighlighter1_591_715_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_591_715_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_591_715_Closed_Text.style.display='none'; Codehighlighter1_591_715_Open_Image.style.display='inline'; Codehighlighter1_591_715_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;</span><span id=Codehighlighter1_591_715_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"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_591_715_Open_Text><span style="COLOR: #000000">{&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;strncpy&nbsp;(ip,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">pline[rm[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">].rm_so],&nbsp;rm[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">].rm_eo</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">rm[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">].rm_so</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;ip&nbsp;[rm[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">].rm_eo</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">rm[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">].rm_so]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">\0</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;ip;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;NULL;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;regfree&nbsp;(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">rt1_);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<img src ="http://www.blogjava.net/alwayscy/aggbug/108472.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/alwayscy/" target="_blank">我爱佳娃</a> 2007-04-04 16:47 <a href="http://www.blogjava.net/alwayscy/archive/2007/04/04/108472.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>