找回密码
 加入
搜索
查看: 1274|回复: 1

正则表达式 中的一个例子 帮忙解读一下

[复制链接]
发表于 2009-6-27 18:42:15 | 显示全部楼层 |阅读模式
本帖最后由 lsq726 于 2009-6-27 18:49 编辑
$nOffset = 1
While 1
    $array = StringRegExp('<test>a</test> <test>b</test> <test>c</Test>', '<(?i)test>(.*?)</(?i)test>', 1, $nOffset)
    
    If @error = 0 Then
        $nOffset = @extended
    Else
        ExitLoop
    EndIf
    for $i = 0 to UBound($array) - 1
        msgbox(0, "RegExp Test with Option 1 - " & $i, $array[$i])
    Next
WEnd
上面的代码 帮忙给详细解读一下。。


下面这段代码  这样做 有什么作用?
    If @error = 0 Then
        $nOffset = @extended
    Else
        ExitLoop
    EndIf
发表于 2009-6-29 10:21:12 | 显示全部楼层
帮助里的例子,没有细看帮助!你不可能长期靠这样问!

$nOffset = 1 ;声明并赋值,产生一个用于偏移值的变量

While 1 ;进入死循环

    $array = StringRegExp('<test>a</test> <test>b</test> <test>c</Test>', '<(?i)test>(.*?)</(?i)test>', 1, $nOffset) ;前一段是字符串,后一段是正则式,通过循环读取方式把符合:<test>***</test>这种格式中的***读出并存于数组

    If @error = 0 Then ;如果上面的正则可取出字符(无错误),则
        $nOffset = @extended ;将取出字符时同时得到的偏移赋值给偏移变量
    Else ;否则(取不到字符)
        ExitLoop ;就跳出此死循环
    EndIf ;条件语句结尾(在条件语句有多于一行时,配套IF使用)

    for $i = 0 to UBound($array) - 1 ;进入数量循环(从0到数组$array的内在‘长度值’,步长为1)

        msgbox(0, "RegExp Test with Option 1 - " & $i, $array[$i]) ;用消息框逐个显示得到的字符

    Next ;数量循环尾

WEnd ;死循环尾
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-15 15:32 , Processed in 0.096414 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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