[已解决]StringRegExp语名不解求教
本帖最后由 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
GUICtrlSetData($A_Combo1, $var[$i], $var);更新列表框参数
If FileExists($var & "\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) 標題應該修改一下....不符合發文規定喔請看板規 本帖最后由 nmgwddj 于 2012-3-16 01:17 编辑
http://www.autoitx.com/thread-18544-1-1.html
对正则一窍不通,帮不到你。 回复 1# ndyzx
"Image Count:"后面有一个,或者多个【任何水平空白字符】(\h+)
一个或者多个数字(\d+),这个表达式的括号表示只匹配一个或者多个数值.
但是有条件,它只匹配前面有 Image Count:后面有一个,或者多个【任何水平空白字符】的后面的一个或者多个数字. 本帖最后由 shqf 于 2012-3-16 09:54 编辑
StringRegExp()是一个函数,一个字符串处理的函数,函数功能是检查字串是否符合给定的正则表达式.
所问的表达式是正是一个正则表达式。代码中此函数功能是获取$line字符串中Image Count:后面的那串数字(并且去掉了数字前面的空格)。 回复 5# shqf
非常感谢。 回复 4# lixiaolong
非常感谢。 \h,\v是autoit自身的语法,在prel正则中好象没有啊。 回复 8# sleep365
有的~~
http://www.autoitx.com/forum.php?mod=viewthread&tid=36355&extra=
页:
[1]