找回密码
 加入
搜索
查看: 1894|回复: 6

[AU3基础] 请教--AU3同时多条件判断的问题--已解决

  [复制链接]
发表于 2012-2-10 09:34:01 | 显示全部楼层 |阅读模式
本帖最后由 fengzishao 于 2012-2-10 11:00 编辑

比如一个INI文件中

[0003FFA041D0]
要求判断
1.必需有[]
2.大括号中有12个字符

如果这两个条件同时成立则执行下一条命令,有一个不成立则停止运行.

但是我只能判断一个,
发表于 2012-2-10 10:17:24 | 显示全部楼层
哪里来的大括弧,那个不是中括弧吗?
StringLen 是来判断字符数量的
如果你会正则的话就没什么难点了
用StringRegExp    正则是\[.{12}\]

评分

参与人数 1金钱 +15 收起 理由
afan + 15

查看全部评分

 楼主| 发表于 2012-2-10 10:59:27 | 显示全部楼层
谢谢,这位朋友
发表于 2012-2-10 11:03:56 | 显示全部楼层
_Main()
Exit

Func _Main()
        Local $str="[0003FFA041D0]"
        Local $r=_Judge($str)
        MsgBox(0,"",$r)
EndFunc

Func _Judge($str)
        If StringLeft($str,1)="[" And _ 
                StringRight($str,1)="]" And _ 
                StringInStr($str,"]")-StringInStr($str,"[")-1=12 Then
                Return True
        Else
                Return False
        EndIf
EndFunc

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

发表于 2012-2-10 11:15:51 | 显示全部楼层
楼主的“多条件判断”skyfree 无疑给出了最贴切的答案~
 楼主| 发表于 2012-2-10 14:28:13 | 显示全部楼层
非常感谢各位,skyfree给的代码再次学到新的东西 ,
 楼主| 发表于 2012-2-10 16:57:02 | 显示全部楼层
_Main()
Exit

Func _Main()
        Local $str="[0003FFA041D0]"
                Local $r=StringRegExp($str,"\[.{12}\]")
                If $r=0 Then
             MsgBox(0,"提示","错误")
                Else
                     MsgBox(0,"提示2","正确")
            EndIf
EndFunc

表达式更简洁一些

附用表达式代码.要慢慢多学习一下.
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-19 15:37 , Processed in 0.081084 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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