请教:怎样用正则提取用户名密码有效期
怎样用正则提取用户名密码有效期,谢谢!正则一直搞不好,还在摸索中,请大大们帮忙!
Username: EAV-42820632
Password: htcrp27sdt
Expiration: 12/01/2012
Username: EAV-42820633
Password: cb5fj3han8
Expiration: 12/01/2012
Username: EAV-51526916
Password: kpvr48kr5n
Expiration: 13/03/2017
Username: EAV-54883696
Password: mr67m6a7ha
Expiration: 30/12/2012
Username: EAV-54883700
Password: dac6akusad
Expiration: 30/12/2012
Username: EAV-54883706
Password: f2savthksv
Expiration: 31/12/2012
本帖最后由 user3000 于 2012-1-17 13:36 编辑
比较工整的字段,数组里按顺序每第1个为用户,第2个为密码,第3个为有效日期:
#include<array.au3>
Local $txt = FileRead('d:\123.au3')
Local $all = StringRegExp($txt, '[::]\h*(.+)', 3)
_ArrayDisplay($all) 回复 2# user3000
用户名、密码、有效期一次全部提取 回复user3000
用户名、密码、有效期一次全部提取
lsszmj 发表于 2012-1-17 13:31 http://www.autoitx.com/images/common/back.gif
呵呵, 没仔细看,改了! 我觉得 并不是一次提取 就是效率
for to next我觉得就不如分下来 省事 回复 2# user3000
谢谢,这个正则表达式[::]\h*(.+),老大能否帮忙翻译成中文 本帖最后由 Ycxw2008 于 2012-1-17 14:15 编辑
回复 6# lsszmj
中文的正则需要你来发明
[:(?#2者均可):]\h(?#任何的水平空白字符.)(.+(?#捕获成组))
不过你应该是这意思吧?
可以无视绿色部分,也可以直接用在AFAN老大的工具上测试,据说可以放在脚本里的,不过我没试过 回复user3000
谢谢,这个正则表达式[::]\h*(.+),老大能否帮忙翻译成中文
lsszmj 发表于 2012-1-17 13:46 http://www.autoitx.com/images/common/back.gif
我倒, 是解释这个表达式吧, 还翻译成中文...流汗了!
首先表达式确定是提取输出括号里的内容:
(.+); . 代表除了换行的任意字符, + 说明这类字符是一个或者很多个。
.+ 可以用来匹配任意非空的一行字,但在这里它前面有修饰:[::]\h* , 所以不是完整的一行字。
[::] 是因为担心英文和中文标点的混合,意指不是一个 : 符号就是一个 : 符号。
最后, 紧接的是空格符, * 个数不确定, 可为0或很多个。。。
以上内容, 熟读帮助文档应该都能理解的, 主要还是你不熟悉! 回复 8# user3000
我也被吓一跳,以为我自己与世隔绝了{:face (340):} 回复user3000
我也被吓一跳,以为我自己与世隔绝了
Ycxw2008 发表于 2012-1-17 14:16 http://www.autoitx.com/images/common/back.gif
正则很强大的! 精深掌握的难度也大!
但如果只是想入门粗浅的运用一下, 这倒不是问题。
像我也就正儿八经地学了四五天吧, 像应付这些小问题,也还算上心!
遇到有心学正则的人, 也算是惺惺相惜吧。 回复 10# user3000
对头,其实会与不会是其次,主要就是折腾的乐趣
昨天不小心就折腾了我一夜,害的我早上看到字串都是双影{:face (198):} 谢谢各位大大,小弟受益非浅 正则的命令和用法我一个记不住,呵呵,实在是没有这方面的强烈需求,可能等用的时候再说了!!
页:
[1]