为什么正则取不值时,程序不会往下继续运行?【已解决】
本帖最后由 diandiand163 于 2014-4-15 09:52 编辑如;
$a="wasdfsadfasdfjklasjdglkjassdfsdfasdfasdfasdfagfgfhghgsh"
$b=StringRegExp($a,'eee(.*)eee',3)
MsgBox (0,"",$b)
MsgBox (0,"","执行这句")
为什么正则取不值时,程序不会往下继续运行?怎么才可以让程序在取不值的情况下继续执行下一句.
MsgBox (0,"","执行这句") 因为不取值时候 $b不是个数组
MsgBox (0,"",$b)
所以$b取值是非法的或者说不能这么干
所以要检查正则的返回值 在返回值为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) ;如果@error = 0那么就可以用$b来取出第一组数据
Else
MsgBox (0,"","执行这句") ;如果非0 就执行这句 就可以避免错误的产生
EndIf If Not @Error Then MsgBox (0,"",$b) 楼主又学别人偷懒不翻看帮助了!
坏习惯啊!
页:
[1]