ferelove 发表于 2012-2-9 08:29:25

[已解决]正则表达式

本帖最后由 ferelove 于 2012-2-9 19:17 编辑

已经按2、3楼解决,衷心感谢!

网上流行一些NOD32的ID自动获取工具,基本上都是从特定的网页上读取文章内容进处理而已。
想学习着,自己写一个类似的工具练习练习。
看了看正则表达式的文章,一时领悟不到,百撕不得其姐。求高手帮弄一段(正则表达式),从实例中学习。谢谢!

含有NOD32 ID的网页代码内容有如下几种:

网页代码1:
<p>Username:TRIAL-60427934<br />
Password:j5nfm543hx</p>
<p>Username:TRIAL-60427947<br />
Password:f82h3duh65</p>
<p>Username:TRIAL-60427961<br />
Password:j2adahxps5</p>
<p>Username:TRIAL-60427967<br />
Password:udperkv7cf</p>网页代码2:<td height="42">
<div>Username: EAV-59635169<br />
Password: rfatn5xj56 </div>
</td>
<td>
<div>Username: EAV-59635187<br />
Password: v4cvev5fx7 </div>
</td>
</tr>
<tr>
<td height="42">
<div>Username: EAV-59635168<br />
Password: db4npbxcdp </div>
</td>网页代码3:<p>用户名:TRIAL-60347921</p>
<p>密码:3j25mdb6a3</p>
<p>有效期:2012-03-07</p>
<p>类型:ESS</p>
<p>用户名:TRIAL-60347917</p>
<p>密码:5hjvtx23sb</p>
<p>有效期:2012-03-07</p>
<p>类型:ESS</p>
<p>用户名:TRIAL-60347900</p>
<p>密码:nav63ptjd6</p>
<p>有效期:2012-03-07</p>
<p>类型:ESS</p>

kxing 发表于 2012-2-9 10:08:22

#include <array.au3>

$info=fileread("info.txt");读入htm源代码

$info=stringlower($info);统一转换小写方便正则
$info=stringregexpreplace($info,"\r|\n","");去掉所有换行符
$exp=stringregexp($info,"((?:eav|trial)-\d{8}).+?({10})",3)
if not @error then _arraydisplay($exp)写的不好还请高手指出!!!

afan 发表于 2012-2-9 14:45:04

(?:name|word|名|码):\h*(.+?)\h*<

ferelove 发表于 2012-2-9 19:15:45

衷心感谢上面二位高手!
经测试,二种方法都有效,A版的更简洁。
接下来就自己研究其它方面了,谢谢!
页: [1]
查看完整版本: [已解决]正则表达式