找回密码
 加入
搜索
查看: 11128|回复: 16

[效率算法] 请教:如何正则提取用户名和密码(已解决)

 火.. [复制链接]
发表于 2011-12-30 23:53:46 | 显示全部楼层 |阅读模式
本帖最后由 lsszmj 于 2012-1-1 16:28 编辑
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN">
<head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <meta http-equiv="Content-Language" content="zh-CN" />
        <meta name="Keywords" content="NOD32 用户名和密码,NOD32免费激活码,NOD32升级ID,NOD32激活码,nod32 5.0激活码" />
<meta name="description" content="&nbsp;全新ESET NOD32 EAV(防病毒软件)半年激活码/一人一激活码&nbsp; 淘宝网仅售:10元                      ..." />
<meta name="author" content="admin" />
<title>nod32用户名和密码-NOD32用户名和密码|NOD32 5.0激活码|ESET NOD32升级ID|2011年12月30日</title>
        <meta name="generator" content="Z-Blog 1.8 Walle Build 100427" />
        <link rel="stylesheet" rev="stylesheet" href="http://www.nod360.com/themes/default/source/style.css.asp" type="text/css" media="screen" />
        <link rel="alternate" type="application/rss+xml" href="http://www.nod360.com/feed.asp?cmt=719" title="Comments Feed for NOD32用户名和密码|NOD32 5.0激活码|ESET NOD32升级ID|2011年12月30日" />
        <script src="http://www.nod360.com/script/common.js" type="text/javascript"></script>
        <script src="http://www.nod360.com/function/c_html_js_add.asp" type="text/javascript"></script>
</head>
<body class="single">
<div id="divAll">
        <div id="divPage">
        <div id="divMiddle">
                <div id="divTop">
                        <h1 id="BlogTitle"><a href="http://www.nod360.com/">NOD32激活码</a></h1>
                        <h2 id="BlogSubTitle">NOD32激活码|NOD32用户名和密码|NOD32升级ID|全球每天最新分享!</h2>
                </div>
                <div id="divNavBar">
<h3>导航</h3>
<ul>
<li><a href="http://www.nod360.com/">首页</a></li>
<li><a href="http://www.nod360.com/catalog.asp?cate=1">NOD32激活码</a></li>
<li><a href="http://www.nod360.com/catalog.asp?cate=2">用户名/密码</a></li>
<li><a href="http://www.nod360.com/catalog.asp?cate=3">NOD32辅助</a></li>
<li><a href="http://www.nod360.com/catalog.asp?cate=4">NOD32下载</a></li>
<li><a href="http://www.nod360.com/catalog.asp?cate=5">NOD32知识库</a></li>
<li><a href="http://www.nod360.com/search.asp">搜索</a></li>
<li><a href="http://www.nod360.com/tags.asp">标签</a></li>
<li><a href="http://www.nod360.com/guestbook.asp">留言</a></li>
<li><a href="http://www.nod360.com/cmd.asp?act=login">管理</a></li>
</ul>
                </div>
                <div id="divMain">
<div class="post cate2 auth1">
        <div class="post-nav"><a class="l" href="http://www.nod360.com/post/718.html">« NOD32用户名和密码|NOD32 5.0激活码|ESET NOD32升级ID|2011年12月29日</a><a class="r" href="http://www.nod360.com/post/720.html">NOD32用户名和密码|NOD32 5.0激活码|ESET NOD32升级ID|2011年12月31日 »</a></div>
        <h4 class="post-date">2011-12-30 0:2:25</h4>
        <h2 class="post-title">NOD32用户名和密码|NOD32 5.0激活码|ESET NOD32升级ID|2011年12月30日</h2>
        <div class="post-body"><p> <a target="_blank" href="http://item.taobao.com/item.htm?id=9673740165"><strong>全新ESET NOD32 EAV(防病毒软件)半年激活码/一人一激活码</strong></a>  <span style="color: #ff0000">淘宝网仅售:</span><a target="_blank" href="http://item.taobao.com/item.htm?id=9673740165"><strong>10元</strong></a></p><p><table border="0" cellspacing="0" cellpadding="0" width="100%">    <tbody>        <tr>            <td width="50%" colspan="2">            <h3><span style="font-size: small">适用类型<span style="color: #ff0000">ESS/EAV</span>(即是<span style="color: #ff0000">NOD32<span style="color: #ff0000">通用</span>升级ID</span>)</span> <br />            <span style="font-size: x-small">有效期至:<span style="color: #3366ff">2012-01-27  </span><span style="color: #000000"><strong>↓</strong></span></span></h3>            </td>            <td width="50%" colspan="2">            <h3>            <h3>            <h3><span style="font-size: small">适用类型<span style="color: #ff0000">EAV</span>即是<span style="color: #ff0000">ESET NOD32 Antivirus</span></span> <br />            <span style="font-size: x-small">有效期至:<span style="color: #3366ff">2012-07-01 </span><span style="color: #000000">↓</span></span></h3>            </h3>            </h3>            </td>        </tr>        <tr>            <td><script type="text/javascript">/*nod360,创建于2011-12-12*/ var cpro_id = 'u708608';</script><script src="http://cpro.baidu.com/cpro/ui/c.js" type="text/javascript"></script></td>            <td>            <p>用户名:TRIAL-57864410<br />            密  码:buna8k2v8k<br />            用户名:TRIAL-57864413<br />            密  码:urub47bs2u<br />            用户名:TRIAL-57864419<br />            密  码:xebepfvkhd<br />            用户名:TRIAL-57864837<br />            密  码:4a48c8mpuf<br />            用户名:TRIAL-57864847<br />            密  码:jbh5n6uvep<br />            用户名:TRIAL-57864852<br />            密  码:btp4bmhh8t<br />            用户名:TRIAL-57864864<br />            密  码:hakbk6r5av<br />            用户名:TRIAL-57864876<br />            密  码:7x34pvb3u2<br />            用户名:TRIAL-57864888<br />            密  码:edvb2djkv4<br />            用户名:TRIAL-57864892<br />            密  码:7v5amu67n7<br />            用户名:TRIAL-57864895<br />            密  码:prccehf5ee<br />            用户名:TRIAL-57864910<br />            密  码:ch8ccnc5h8<br />            用户名:TRIAL-57864916<br />            密  码:vh73u7a7mr<br />            用户名:TRIAL-57864923<br />            密  码:ddubf8u7up<br />            用户名:TRIAL-57864927<br />            密  码:spu46vhkvd</p>            </td>            <td><script type="text/javascript">/*nod360,创建于2011-12-12*/ var cpro_id = 'u708589';</script><script src="http://cpro.baidu.com/cpro/ui/c.js" type="text/javascript"></script></td>            <td>            <p>用户名: EAV-57182056<br />            密  码: djrprb3rxv<br />            用户名: EAV-57182988<br />            密  码: 6nhrju2j3m<br />            用户名: EAV-57182991<br />            密  码: phrschbfsv<br />            用户名: EAV-56784952<br />            密  码: 8chv5tndk3 <br />            用户名: EAV-56841277<br />            密  码: hxpvthbp8m  <br />            用户名: EAV-56850347<br />            密  码: ftbdnrcrdx</p>            <p>       ↓           ↓           ↓  <br />            1、请勿复制空格,复制用户名的时候 不要忘记复制“EAV-”或“TRIAL-”</p>            <p>2、更换用户名密码方法:更新=》用户名和密码设置==》确定==》更新病毒库<br />               </p>            <p>3.、<span style="color: #ff0000">NOD32 5.0以上版本激活步骤</span>:<br />                                    ↓<br />            点击主界面<span style="color: #ff0000">更新</span>-<span style="color: #ff0000">产品激活</span>-<span style="color: #ff0000">使用用户名和密码激活</span>即可!</p>            <p> </p>            <p> </p>            <p> </p>            </td>        </tr>    </tbody></table></p><p><strong><span style="font-size: small"><span style="color: #ff0000"><font size="2">留言是一种美得!你的留言是对网站最大的支持与鼓励^_^<br /></font></span></span></strong>————————————————————————————————————————————————<br /><span style="color: #ff0000">免责声明:</span>提供ID全来自网络,此升级方法只用于学习交流用途,不用于任何商业用途,只是提供给NOD32的爱好者分享,体验NOD32的杀毒能力,请在24小时删除,如觉得喜欢,请还是支持正版,谢谢!</p></div>
        <h5 class="post-tags">Tags: <a href="http://www.nod360.com/catalog.asp?tags=NOD32+%E7%94%A8%E6%88%B7%E5%90%8D%E5%92%8C%E5%AF%86%E7%A0%81">NOD32 用户名和密码</a>  <a href="http://www.nod360.com/catalog.asp?tags=NOD32%E5%85%8D%E8%B4%B9%E6%BF%80%E6%B4%BB%E7%A0%81">NOD32免费激活码</a>  <a href="http://www.nod360.com/catalog.asp?tags=NOD32%E5%8D%87%E7%BA%A7ID">NOD32升级ID</a>  <a href="http://www.nod360.com/catalog.asp?tags=NOD32%E6%BF%80%E6%B4%BB%E7%A0%81">NOD32激活码</a>  <a href="http://www.nod360.com/catalog.asp?tags=nod32+5%2E0%E6%BF%80%E6%B4%BB%E7%A0%81">nod32 5.0激活码</a>  </h5>
        <h6 class="post-footer">
                发布:admin | 分类:NOD32用户名和密码/升级ID | 评论:0 | 引用:0 | 浏览:<span id="spn719"></span>
                <script language="JavaScript" type="text/javascript">strBatchCount+="spn719=719,"</script>
        </h6>
</div>
<ul class="msg trackback">
        <li class="tbname"><a href="http://www.nod360.com/cmd.asp?act=gettburl&id=719" target="_blank">点击这里获取该日志的TrackBack引用地址</a></li>
</ul>
<ul class="msg mutuality">
        <li class="tbname">相关文章:</li>
        <li class="msgarticle"><p><a  href="http://www.nod360.com/post/718.html">NOD32用户名和密码|NOD32 5.0激活码|ESET NOD32升级ID|2011年12月29日</a>  (2011-12-29 0:5:5)</p><p><a  href="http://www.nod360.com/post/717.html">NOD32用户名和密码|NOD32 5.0激活码|ESET NOD32升级ID|2011年12月28日</a>  (2011-12-28 0:6:55)</p><p><a  href="http://www.nod360.com/post/716.html">NOD32用户名和密码|NOD32 5.0激活码|ESET NOD32升级ID|2011年12月27日</a>  (2011-12-27 0:0:56)</p><p><a  href="http://www.nod360.com/post/714.html">NOD32用户名和密码|NOD32 5.0激活码|ESET NOD32升级ID|2011年12月26日</a>  (2011-12-26 0:7:4)</p><p><a  href="http://www.nod360.com/post/715.html">NOD32激活码|ESET NOD32最新激活码|NOD32免费激活码-2011年12月26日</a>  (2011-12-26 0:0:9)</p><p><a  href="http://www.nod360.com/post/713.html">NOD32用户名和密码|NOD32 5.0激活码|ESET NOD32升级ID|2011年12月25日</a>  (2011-12-25 0:2:15)</p><p><a  href="http://www.nod360.com/post/712.html">NOD32用户名和密码|NOD32 5.0激活码|ESET NOD32升级ID|2011年12月24日</a>  (2011-12-24 0:1:16)</p><p><a  href="http://www.nod360.com/post/711.html">NOD32用户名和密码|NOD32 5.0激活码|ESET NOD32升级ID|2011年12月23日</a>  (2011-12-23 9:34:21)</p><p><a  href="http://www.nod360.com/post/710.html">NOD32用户名和密码|NOD32 5.0激活码|ESET NOD32升级ID|2011年12月22日</a>  (2011-12-22 0:2:24)</p><p><a  href="http://www.nod360.com/post/709.html">NOD32用户名和密码|NOD32 5.0激活码|ESET NOD32升级ID|2011年12月21日</a>  (2011-12-21 0:2:12)</p></li>
</ul>

<div style="display:none;" id="divAjaxComment"></div>
<div class="post" id="divCommentPost">
        <p class="posttop"><a name="comment">发表评论:</a></p>
        <form id="frmSumbit" target="_self" method="post" action="http://www.nod360.com/cmd.asp?act=cmt&key=9b0fd391" >
        <input type="hidden" name="inpId" id="inpId" value="719" />
        <input type="hidden" name="inpArticle" id="inpArticle" value="" />
        <input type="hidden" name="inpLocation" id="inpLocation" value="" />
        <p><input type="text" name="inpName" id="inpName" class="text" value="" size="28" tabindex="1" /> <label for="inpName">名称(*)</label></p>
        <p><input type="text" name="inpEmail" id="inpEmail" class="text" value="" size="28" tabindex="2" /> <label for="inpEmail">邮箱</label></p>
        <p><input type="text" name="inpHomePage" id="inpHomePage" class="text" value="" size="28" tabindex="3" /> <label for="inpHomePage">网站链接</label></p>
                <p><input type="text" name="inpVerify" id="inpVerify" class="text" value="" size="28" tabindex="4" /> <label for="inpVerify">验证(*)</label> <img style="border:1px solid black" src="http://www.nod360.com/function/c_validcode.asp?name=commentvalid" alt="" title=""/></p>
        <p><label for="txaArticle">正文(*)(留言最长字数:1000)</label></p>
        <p><textarea name="txaArticle" id="txaArticle" onchange="GetActiveText(this.id);" onclick="GetActiveText(this.id);" onfocus="GetActiveText(this.id);" class="text" cols="50" rows="4" tabindex="5" ></textarea></p>
        <p><input name="btnSumbit" type="submit" tabindex="6" value="提交" onclick="JavaScript:return VerifyMessage()" class="button" /> <input type="checkbox" name="chkRemember" value="1" id="chkRemember" /> <label for="chkRemember">记住我,下次回复时不用重新输入个人信息</label></p>
        <script language="JavaScript" type="text/javascript">objActive="txaArticle";ExportUbbFrame();</script>
        </form>
        <p class="postbottom">◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。</p>
        <script language="JavaScript" type="text/javascript">LoadRememberInfo();</script>
</div>
                </div>
                <div id="divSidebar">

<div class="function" id="divCalendar">
<h3>日历</h3>
<div id="mod_calendar"><script type="text/javascript">strBatchInculde+="mod_calendar=calendar,"</script></div>
</div>
<script type="text/javascript">/*nod360,创建于2011-12-12*/ var cpro_id = 'u708589';</script><script src="http://cpro.baidu.com/cpro/ui/c.js" type="text/javascript"></script>
<div class="function" id="divComments">
<h3>最新评论及回复</h3>
<ul id="ulComments">
<li id="mod_comments" style="display:none;"><script type="text/javascript">strBatchInculde+="mod_comments=comments,"</script></li>
</ul>
</div>

<div class="function" id="divPrevious">
<h3>最近发表</h3>
<ul id="ulPrevious">
<li id="mod_previous" style="display:none;"><script type="text/javascript">strBatchInculde+="mod_previous=previous,"</script></li>
</ul>
</div>

                </div>
                <div id="divBottom">
                        <h3 id="BlogPowerBy">Powered By <a href="http://www.rainbowsoft.org/" title="RainbowSoft Studio Z-Blog" target="_blank">Z-Blog 1.8 Walle Build 100427</a></h3>
                        <h2 id="BlogCopyRight"><a href="http://www.nod360.com/">网站首页</a>|[<a target="_top" href="javascript:window.external.AddFavorite('http://www.nod360.com','NOD32激活码|NOD32用户名和密码|NOD32升级ID|全球每天最新分享!')">收藏本站</a>|<a href="mailto:cjc23b2@163.com">联系我们</a>|<script src="http://s13.cnzz.com/stat.php?id=2620454&web_id=2620454" language="JavaScript"></script><script type='text/javascript' src='http://v.xi666.com/API/StartPop.aspx?PosID=40885' charset='gb2312'></script><script type="text/javascript">/*nod360,创建于2011-12-12*/ var cpro_id = 'u708643';</script><script src="http://cpro.baidu.com/cpro/ui/f.js" type="text/javascript"></script></h2>
                </div>
        </div>
        </div>
</div>
</body>
</html>
<!-- 2011-12-30 21:00:05 -->
这个网页源码中怎样用正则提取ESET的用户名和密码,谢谢!
                                   一个学习正则的菜鸟。
发表于 2011-12-31 00:22:30 | 显示全部楼层
(?U)名[::]\h*?(.+)<.+[::]\h*?(.+)(?: )*\h*<

评分

参与人数 1金钱 +10 收起 理由
user3000 + 10 向 afan 版主学习!

查看全部评分

发表于 2011-12-31 07:43:58 | 显示全部楼层
进来学习!
...
留字, 拿分, 闪人!
 楼主| 发表于 2011-12-31 08:45:17 | 显示全部楼层
回复 2# afan
A大,如果分开提取用户名与密码,怎样么搞,谢谢
发表于 2011-12-31 08:49:14 | 显示全部楼层
2楼强人啊,学习
发表于 2011-12-31 10:23:11 | 显示全部楼层
afan果然是正则专家,有正则问题必回的那种,
发表于 2011-12-31 11:04:15 | 显示全部楼层
回复 4# lsszmj
你所谓的分开是两种账号密码分开,还是账号是一组密码是一组,如果只是两种账号密码分开的话
只需要把[::]里面留其中一个,分两次提取就可以了
如果是账号跟密码分开的话需要把正则里面的两个括弧去掉其中一组,分两次提取就可以了
如下
1,(?U)名:\h*?(.+)<.+:\h*?(.+)(?:&nbsp;)*\h*<   与 (?U)名:\h*?(.+)<.+:\h*?(.+)(?:&nbsp;)*\h*<
2,(?U)名[::]\h*?(.+)<.+[::]\h*?.+(?:&nbsp;)*\h*<  与  (?U)名[::]\h*?.+<.+[::]\h*?(.+)(?:&nbsp;)*\h*<

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

发表于 2011-12-31 12:11:27 | 显示全部楼层
love5173 解释得不错~
建议楼主,像这种需要成组使用的东东不建议分开提取,万一错位了,就啥都不是了~
发表于 2011-12-31 13:14:10 | 显示全部楼层
貌似这样也成
[名码][::]\h*([^\<]+)
 楼主| 发表于 2011-12-31 13:42:05 | 显示全部楼层
回复 8# afan
感谢A大,已成功,稍后我把代码贴上来
 楼主| 发表于 2011-12-31 13:42:56 | 显示全部楼层
回复 9# 3mile
谢谢3mile大,正在测试中
发表于 2011-12-31 13:43:03 | 显示全部楼层
回复 9# 3mile


    可能会捕捉到多余的字符,如 [37]元素末尾的空格,还有[39]元素末尾的&nbsp;和空格
 楼主| 发表于 2011-12-31 13:52:00 | 显示全部楼层
本帖最后由 lsszmj 于 2011-12-31 14:11 编辑

回复 12# afan
呵呵,我是想把它们写入数组中,方便自己使用。A大不要见笑哈。

代码如下 :
Func _GetId($HTMLSource)
        ;Un
        Local $a_Id = StringRegExp($HTMLSource, _
                        "(?U)名[::]\h*?(.+)<.+[::]\h*?(.+)(?: )*\h*<", 3)
        Local $a_Time = StringRegExp($HTMLSource, _
                        '#3366ff">(.{10}) ', 3)                
        _ArrayDisplay($a_Id, "$a_Id")
        _ArrayDisplay($a_Time, "$a_Time")
        
        Local $N = 3
        Local $a_IdInfo[1][$N], $p = 1
        For $i=1 To UBound($a_Id)-1 Step 2
                ReDim $a_IdInfo[$p + 1][$N]
                $a_IdInfo[$p][0] = $a_Id[$i-1]
                $a_IdInfo[$p][1] = $a_Id[$i]
                If StringInStr($a_Id[$i-1],"EAV")Then
                $a_IdInfo[$p][2]=$a_Time[1]
        Else
                $a_IdInfo[$p][2] = $a_Time[0]
                EndIf
                ;MsgBox(0,$i,$a_Id[$i])
                $p += 1
        Next
        _ArrayDisplay($a_IdInfo, "$a_IdInfo")        
EndFunc
还望老大提点建议,谢谢
发表于 2011-12-31 14:51:30 | 显示全部楼层
本帖最后由 afan 于 2011-12-31 14:55 编辑

回复 13# lsszmj


    可以不用临时文件;
#include <INet.au3>
$Str = BinaryToString(_INetGetSource($Url, 0), 4)

另外可以不用ReDim
Func _GetId($HTMLSource)
        Local $a_Id = StringRegExp($HTMLSource, _
                        "(?U)名[::]\h*?(.+)<.+[::]\h*?(.+)(?: )*\h*<", 3)
        Local $a_Time = StringRegExp($HTMLSource, _
                        '#3366ff">(.{10}) ', 3)
        ;_ArrayDisplay($a_Id, "$a_Id")
        ;_ArrayDisplay($a_Time, "$a_Time")

        Local $N = 3, $c = UBound($a_Id)
        Local $a_IdInfo[$c / 2 + 1][$N] = [[$c / 2]], $p = 1
        For $i = 1 To $c - 1 Step 2
                $a_IdInfo[$p][0] = $a_Id[$i - 1]
                $a_IdInfo[$p][1] = $a_Id[$i]
                If StringInStr($a_Id[$i-1], "EAV") Then
                        $a_IdInfo[$p][2] = $a_Time[1]
                Else
                        $a_IdInfo[$p][2] = $a_Time[0]
                EndIf
                ;MsgBox(0,$i,$a_Id[$i])
                $p += 1
        Next
        _ArrayDisplay($a_IdInfo, "$a_IdInfo")
EndFunc   ;==>_GetId
 楼主| 发表于 2011-12-31 15:21:05 | 显示全部楼层
回复 14# afan
非常感谢A大。
$Str = BinaryToString(_INetGetSource($Url, 0), 4)
这个的意思是:_INetGetSource($Url, 0)中的0就是False,则返回数据为二进制格式;再用BinaryToString(_INetGetSource($Url, 0), 4)把上面的得到的二进制格式的数据转换为 UTF8 编码(4的意思),这样一来就方便正则提取。
不知我理解的正确不,请指点。一个爱学习的菜鸟
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-27 19:54 , Processed in 0.094561 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表