找回密码
 加入
搜索
查看: 1793|回复: 3

[AU3基础] 为什么正则取不值时,程序不会往下继续运行?【已解决】

[复制链接]
发表于 2013-11-6 22:03:24 | 显示全部楼层 |阅读模式
本帖最后由 diandiand163 于 2014-4-15 09:52 编辑

如;
$a="wasdfsadfasdfjklasjdglkjassdfsdfasdfasdfasdfagfgfhghgsh"
$b=StringRegExp($a,'eee(.*)eee',3)

MsgBox (0,"",$b[0])
MsgBox (0,"","执行这句")

为什么正则取不值时,程序不会往下继续运行?怎么才可以让程序在取不值的情况下继续执行下一句.
MsgBox (0,"","执行这句")
发表于 2013-11-6 23:16:46 | 显示全部楼层
因为不取值时候 $b不是个数组  
MsgBox (0,"",$b[0])
所以$b[0]取值是非法的或者说不能这么干

所以要检查正则的返回值 在返回值为0的时候(帮助里说了返回 0 就代表 有效数组.)
也是就是返回0的时候$b=StringRegExp($a,'eee(.*)eee',3)这行 就成功的 让$b成为了1个数组变量

所以判断返回值
$a="wasdfsadfasdfjklasjdglkjassdfsdfasdfasdfasdfagfgfhghgsh"
$b=StringRegExp($a,'eee(.*)eee',3)
If (@error = 0) Then          ; 这里加了个判断语句 判断StringRegExp执行后 放到 @error 的返回值
MsgBox (0,"",$b[0])          ;如果@error = 0那么就可以用$b[0]来取出第一组数据
Else
MsgBox (0,"","执行这句")    ;如果非0 就执行这句 就可以避免错误的产生
EndIf
发表于 2013-11-6 23:17:58 | 显示全部楼层
If Not @Error Then MsgBox (0,"",$b[0])
发表于 2013-11-6 23:28:58 | 显示全部楼层
楼主又学别人偷懒不翻看帮助了!
坏习惯啊!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-17 09:30 , Processed in 0.073556 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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