找回密码
 加入
搜索
查看: 3753|回复: 18

如何提取这样的字符串

[复制链接]
发表于 2009-7-20 14:07:21 | 显示全部楼层 |阅读模式
本帖最后由 xg911335 于 2009-7-21 12:37 编辑

2009-07-20 11:35:30 604093 INFO  test OpenUserV5 sky:94861806897405121281, UserID:54173(54173 ), 登陆的帐号:54173, 密码:11111, 类型:1(1), 类型:1
2009-07-20 11:35:30 604093 INFO  test OpenUserV5 sky:94861806897405121281, UserID:54321(54321 ), 登陆的帐号:54321, 密码:333333, 类型:1(1), 类型:1
2009-07-20 11:35:30 604093 INFO  test OpenUserV5 sky:94861806897405121281, UserID:54173(54173 ), 登陆的帐号:54173, 密码:11111, 类型:1(1), 类型:1
2009-07-20 11:35:30 604093 INFO  test OpenUserV5 sky:94861806897405121281, UserID:54173(54173 ), 登陆的帐号:54173, 密码:11111, 类型:1(1), 类型:1
2009-07-20 11:35:30 604093 INFO  test OpenUserV5 sky:94861806897405121281, UserID:55555(55555 ), 登陆的帐号:55555, 密码:2222222, 类型:1(1), 类型:1

请问上面的文本中,如果读取密码啊?文本中有重复的帐号。
用$Input1来接收输入的帐号,$Button1来获取密码并把值赋给MSGBOX()。
给个列子。在下先谢过。
发表于 2009-7-20 17:49:27 | 显示全部楼层
本帖最后由 lynfr8 于 2009-7-21 18:55 编辑

后面几位兄台已经给出非常完善的解决方法了
 楼主| 发表于 2009-7-20 17:54:31 | 显示全部楼层
我晕。。。
发表于 2009-7-20 18:00:28 | 显示全部楼层
呵呵,改了……
发表于 2009-7-20 18:02:05 | 显示全部楼层
晕,不知要提取哪些内容!
发表于 2009-7-20 18:59:39 | 显示全部楼层

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form = GUICreate("正则提取密码 By lynfr8", 259, 76, 192, 124)
$Input = GUICtrlCreateInput("54173", 24, 24, 137, 21)
$Button = GUICtrlCreateButton("密码", 176, 24, 57, 25, $WS_GROUP)
GUISetState(@SW_SHOW)

$user = StringRegExp(FileRead('user.txt'),'登陆的帐号:(\d+), 密码:(\d+)',3)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button
$userExists = ''
For $i= 0 to UBound($user) - 1 Step 2
If $user[$i]=GUICtrlRead($Input) And $userExists <> $user[$i+1] Then 
MsgBox('','',$user[$i+1])
$userExists = $user[$i+1]
EndIf
Next
EndSwitch
WEnd

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +10 贡献 +10 收起 理由
kn007 + 10 + 10 原创内容,感谢你对论坛的支持;希望继续发 ...

查看全部评分

发表于 2009-7-21 00:19:47 | 显示全部楼层
lynfr8  太强大了啊 好像无所不会 佩服一下

评分

参与人数 1金钱 +2 收起 理由
lynfr8 + 2 下次帮我戴高帽记得低调一点...

查看全部评分

发表于 2009-7-21 02:11:36 | 显示全部楼层
嘘。。。别那么张扬
悄悄站内短信告诉我让我自己对着屏幕臭美一下就好了
别大庭广众的让大家看见嘛
让ACN真正的牛人看见了我就糗啦
发表于 2009-7-21 02:11:51 | 显示全部楼层
本帖最后由 lynfr8 于 2009-7-21 02:30 编辑

正则这个东西入门还是不难的
关键是要灵活运用
论坛正则的资料也有
相关的贴也不少
狠下心来逼自己认真琢磨一下
一定会有砍获的!
 楼主| 发表于 2009-7-21 11:10:02 | 显示全部楼层
非常感谢lynfr8兄。我就是没有找到什么正则的资料。顺便问一下,登陆的帐号:(\d+), 密码:(\d+)里面的(\d+)是什么意思?
发表于 2009-7-21 11:13:29 | 显示全部楼层
  还有更牛的 .....      那我不活了
 楼主| 发表于 2009-7-21 11:20:40 | 显示全部楼层
呵呵。。。这个我测试了一下。如果密码是字符串的无法提取。如密码:sdf123 密码:www.zutoit.net.cn
都不能提取
发表于 2009-7-21 11:32:02 | 显示全部楼层
12# xg911335


一楼的全都是数字, \d+ 可以了。 密码的规律变了当然正则也要变啦~
发表于 2009-7-21 11:39:13 | 显示全部楼层
将6#的
$user = StringRegExp(FileRead('user.txt'), '登陆的帐号:(\d+), 密码:(\d+)', 3)
改成如下就可以吧~
$user = StringRegExp(FileRead('user.txt'), '登陆的帐号:(\d+), 密码:(\w+)', 3)
 楼主| 发表于 2009-7-21 11:44:14 | 显示全部楼层
本帖最后由 xg911335 于 2009-7-21 11:49 编辑

晕。。刚刚找到怎么搞,就被你抢先了。呵呵。谢谢。这个加号是什么意思?
另外匹配密码:www.autoitx.com的结果显示是www.不能完全显示?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-3 10:06 , Processed in 0.078755 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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