zhouhaijin 发表于 2015-5-20 10:32:42

【已解决】正则返回数组出错,循环调用的时候

本帖最后由 zhouhaijin 于 2015-5-20 11:57 编辑


Func _GetVal($str, $sName)
        Local $aSR = StringRegExp($str, '\[' & $sName & '\]\[\d+\]\[(.*?)\]', 1)
        If @error Or $aSR = "" Then
                Return ''
        Else
                Return $aSR
        EndIf
EndFunc   ;==>_GetVal


错误
"E:\kaix\??\Server_DebugIt.au3" (1908) : ==> ??????????.:
If @error Or $aSR = "" Then
If @error Or $aSR^ ERROR

zhouhaijin 发表于 2015-5-20 10:49:52

应该是If @error Or $aSR = "" Then前,TCP Received正接收数据,调用了,server_debugit.au3里的函数,把@error设成了没出错,到下面就出错了。

afan 发表于 2015-5-20 11:51:23

第4行直接返回空,并未设置@Error非零,"If @error Or $aSR = "" Then"当然会出错。不改函数定义的话应修改判断为 If Not IsArray($aSR) Then ...
页: [1]
查看完整版本: 【已解决】正则返回数组出错,循环调用的时候