找回密码
 加入
搜索
查看: 4020|回复: 8

[AU3基础] [已解决]StringRegExp语名不解求教

  [复制链接]
发表于 2012-3-16 00:42:09 | 显示全部楼层 |阅读模式
本帖最后由 ndyzx 于 2012-3-16 11:56 编辑

下面一段代码中StringRegExp语名,最后一行表达式Image Count:\h+(\d+)中的\h+(\d+)怎么理解.
If _IsWinPE() = 1 Then;选择模式
        $var = DriveGetDrive("ALL")
Else
        $var = DriveGetDrive("FIXED")
EndIf
If Not @error Then
        For $i = 1 To $var[0]
                GUICtrlSetData($A_Combo1, $var[$i], $var[1]);更新列表框参数
                If FileExists($var[1] & "\hildr") Then;检查启动文件
                        $Running = "等待卸载操作..."
                Else
                        $Running = "等待安装操作..."
                EndIf
                If FileExists($var[$i] & "\sources\install.wim") Then;检查安装文件
                        Dim $Install = $var[$i]

                        $foo = Run(@ScriptDir & "\imagex /info " & $var[$i] & "\sources\install.wim", "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
                        ProcessWaitClose($foo)
                        $line = StdoutRead($foo)
                        Dim $array = StringRegExp($line, 'Image Count:\h+(\d+)', 3)
发表于 2012-3-16 00:49:58 | 显示全部楼层
標題應該修改一下....不符合發文規定喔  請看板規
发表于 2012-3-16 00:50:16 | 显示全部楼层
本帖最后由 nmgwddj 于 2012-3-16 01:17 编辑

http://www.autoitx.com/thread-18544-1-1.html

对正则一窍不通,帮不到你。
发表于 2012-3-16 01:35:43 | 显示全部楼层
回复 1# ndyzx

"Image Count:"后面有一个,或者多个【任何水平空白字符】(\h+)
一个或者多个数字(\d+),这个表达式的括号表示只匹配一个或者多个数值.

但是有条件,它只匹配前面有 Image Count:后面有一个,或者多个【任何水平空白字符】的后面的一个或者多个数字.

评分

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

查看全部评分

发表于 2012-3-16 09:52:55 | 显示全部楼层
本帖最后由 shqf 于 2012-3-16 09:54 编辑

StringRegExp()是一个函数,一个字符串处理的函数,函数功能是检查字串是否符合给定的正则表达式.
所问的表达式是正是一个正则表达式。代码中此函数功能是获取$line字符串中Image Count:后面的那串数字(并且去掉了数字前面的空格)。

评分

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

查看全部评分

 楼主| 发表于 2012-3-16 11:54:20 | 显示全部楼层
回复 5# shqf
非常感谢。
 楼主| 发表于 2012-3-16 11:55:54 | 显示全部楼层
回复 4# lixiaolong
非常感谢。
发表于 2012-10-31 10:25:56 | 显示全部楼层
\h,\v是autoit自身的语法,在prel正则中好象没有啊。
发表于 2012-11-29 15:55:44 | 显示全部楼层
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-23 03:21 , Processed in 0.130578 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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