zhenglei 发表于 2010-11-22 13:19:58

StringRegExp表达式在错误的时候如果给出判断----(已解决)

本帖最后由 zhenglei 于 2010-11-22 13:35 编辑

$name = "29.-周杰伦-烟花易冷--国语阿里山的房间"
$array = StringRegExp($name, '([^-]+)', 3)
$1 = $array
$2 = $array
MsgBox(0, 0, $1 & @CRLF & $2)
以上代码$1 和$2都可以显示出来。。。。。   可以正常显示..没有问题。。。
=============================================$name="29.周杰伦烟花易冷国语阿里山的房间"
$array = StringRegExp($name, '([^-]+)', 3)
if @error=1 then msgbox(16,"提醒","数据读取错误!请查证")
else
$1 = $array
$2 = $array
if $1<>"" and $2<>"" then MsgBox(0, 0, $1 & @CRLF & $2)
endif
这串代码就有问题了。。 我需要在数组读取错误时给出提示!
但是代码老是写不对。。 我就郁闷。。。。。
==========================================

现在的问题。是检测$array = StringRegExp($name, '([^-]+)', 3) 表达式是否正确。。
如果正确。 接着判断数组$1 和$2数组是否有数据。。 没有数据则提示错误信息!!!

zhenglei 发表于 2010-11-22 13:21:04

自己顶一下。。。。。。

水木子 发表于 2010-11-22 13:27:44

$name = "29.周杰伦烟花易冷国语阿里山的房间"
$array = StringRegExp($name, '([^-]+)', 3)
If UBound($array) > 2 Then
        $1 = $array
        $2 = $array
        MsgBox(0, 0, $1 & @CRLF & $2)
Else
        MsgBox(0, '', '匹配失败')
EndIf       

zhenglei 发表于 2010-11-22 13:36:30


水木子 发表于 2010-11-22 13:27 http://www.autoitx.com/images/common/back.gif

老大。。 感谢你啊。 好神速。。。 我对正规表达式还是搞不懂。 还需要多多研究。 谢谢啊。

shenrenba 发表于 2010-11-22 13:37:08

回复 3# 水木子


    UBound($array) > 1 就可以了   计算的数量是UBound($array)-1

水木子 发表于 2010-11-22 13:38:15

回复 5# shenrenba
谢谢指正!可能是我大意了。{:face (396):}
页: [1]
查看完整版本: StringRegExp表达式在错误的时候如果给出判断----(已解决)