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

请教一个正则表达式的写法

[复制链接]
发表于 2008-10-30 10:01:51 | 显示全部楼层 |阅读模式
<div id="postmessage_540" class="t_msgfont"><div id="postmessage_540" class="t_msgfont">
目的是要取得id,请帮忙写一下这个正则,多谢。
另外不知道我这样写的错误在什么地方,总是不能通过。
<div id="(postmessage_d+)" class="t_msgfont">
发表于 2008-10-30 11:18:27 | 显示全部楼层

Local $show = '', $offset = 1, $Strings = '<div id="postmessage_540" class="t_msgfont"><div id="postmessage_540" class="t_msgfont">'
Do
        $String = StringRegExp($Strings, '(?U)<div id="(.+)" class', 1, $offset)
        if @error = 0 then
                $offset = @extended
        Else
                ExitLoop
        EndIf
        $show &= $String[0] & @CRLF
Until 0
MsgBox(0, '', $show)


[ 本帖最后由 liongodmien 于 2008-10-30 11:21 编辑 ]
发表于 2008-10-30 13:05:04 | 显示全部楼层
$a='<div id="postmessage_540" class="t_msgfont"><div id="postmessage_540" class="t_msgfont">'
$b=StringRegExp($a,'(?<=id=").+?(?=")',2)
MsgBox(0,'test',$b[0])
发表于 2008-11-12 20:53:23 | 显示全部楼层

回复 3# pcbar 的帖子

$a='<div id="postmessage_540" class="t_msgfont"><div id="postmessage_541" class="t_msgfont">'
$b=StringRegExp($a,'(?<=id=").+?(?=")',3)
for $i = 0 to UBound($b) - 1
    msgbox(0, $i, $b[$i])
Next

我也很喜欢用零宽断言。
发表于 2008-11-15 09:16:28 | 显示全部楼层
$b=StringRegExp($a,'(?<=id=").+?(?=")',3)
没明白 (?<=id=") 是什么意思
应该是 (?!id=") 吧?
发表于 2008-11-16 15:27:30 | 显示全部楼层
原帖由 真会走路的废柴 于 2008-11-15 09:16 发表
$b=StringRegExp($a,'(?<=id=").+?(?=")',3)
没明白 (?<=id=") 是什么意思
应该是 (?!id=") 吧?

这个是正则表达式的一个匹配模式,在AU3的帮助里面没有提到,但在其它的地方有,它又可以在AU3里用,这是足够让不知道的人奇怪好久的...
发表于 2008-11-16 15:28:58 | 显示全部楼层
有点不明白楼上的
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 02:19 , Processed in 0.085841 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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