找回密码
 加入
搜索
查看: 4456|回复: 7

[AU3基础] 正则求助[已解决]

  [复制链接]
发表于 2011-4-17 22:10:35 | 显示全部楼层 |阅读模式
本帖最后由 seniors 于 2011-4-17 22:32 编辑
<!--<td align="center" style="height:24;font-size:14px">新课程课堂教学行为创新—初中数学</td>-->
                                                                            <td class="admintd"><a href='# ' onclick="OpenBook(9)" >新课程课堂教学行为创新—初中数学</a></td>
                                                                        <td class="admintd">0 小时 0 分钟 </td>
                                                                        <td class="admintd">初中数学</td>
                                                                        <td class="admintd"><a onclick="return confirm('是否确定删除该课程?');" id="StudentBookShelflist_ctl01_Linkbutton1" href="javascript:__doPostBack('StudentBookShelflist$ctl01$Linkbutton1','')">删除</a></td>
                                                                </tr>
                                                                                    
                                                                                                                   <tr align="center">
                                                                                                                   <!--<td align="center" style="height:24;font-size:14px">初中数学新课程典型课案例与点评</td>-->
                                                                            <td class="admintd"><a href='# ' onclick="OpenBook(10)" >初中数学新课程典型课案例与点评</a></td>
                                                                        <td class="admintd">0 小时 0 分钟 </td>
                                                                        <td class="admintd">初中数学</td>
我要其中的
9 新课程课堂教学行为创新—初中数学  0 小时 0 分钟
10 初中数学新课程典型课案例与点评 0 小时 0 分钟

这样表达清楚了吗?正是头大,现在还不行
发表于 2011-4-17 22:24:17 | 显示全部楼层
#include <Array.au3>
Local $Str = _
                '<!--<td align="center" style="height:24;font-size:14px">新课程课堂教学行为创新—初中数学</td>-->' & @CRLF & _
                '                                                                            <td class="admintd"><a href=' & "'# ' onclick=" & '"OpenBook(9)" >新课程课堂教学行为创新—初中数学</a></td>' & @CRLF & _
                '                                                                        <td class="admintd">0 小时 0 分钟 </td>' & @CRLF & _
                '                                                                        <td class="admintd">初中数学</td>' & @CRLF & _
                '                                                                        <td class="admintd"><a onclick="return confirm(' & "'是否确定删除该课程?');" & '" id="StudentBookShelflist_ctl01_Linkbutton1" href="javascript:__doPostBack(' & "'StudentBookShelflist$ctl01$Linkbutton1','')" & '">删除</a></td>' & @CRLF & _
                '                                                                </tr>' & @CRLF & _
                '                                                                                    ' & @CRLF & _
                '                                                                                                                   <tr align="center">' & @CRLF & _
                '                                                                                                                   <!--<td align="center" style="height:24;font-size:14px">初中数学新课程典型课案例与点评</td>-->' & @CRLF & _
                '                                                                            <td class="admintd"><a href=' & "'# ' onclick=" & '"OpenBook(10)" >初中数学新课程典型课案例与点评</a></td>' & @CRLF & _
                '                                                                        <td class="admintd">0 小时 0 分钟 </td>' & @CRLF & _
                '                                                                        <td class="admintd">初中数学</td>'
Local $Test = StringRegExp($str, '(?s)Book\((\d+).+?>([^<]+).+?admintd">([^<]+)', 3)
_ArrayDisplay($Test, UBound($Test))
 楼主| 发表于 2011-4-17 22:32:07 | 显示全部楼层
真快的回答啊,谢谢
发表于 2011-4-17 22:44:28 | 显示全部楼层
做题.
#include <Array.au3>
Local $sText =        _
                                '<!--<td align="center" style="height:24;font-size:14px">新课程课堂教学行为创新—初中数学</td>-->' & @CRLF & _
                                '                                                                            <td class="admintd"><a href=' & "'# ' onclick=" & '"OpenBook(9)" >新课程课堂教学行为创新—初中数学</a></td>' & @CRLF & _
                                '                                                                        <td class="admintd">0 小时 0 分钟 </td>' & @CRLF & _
                                '                                                                        <td class="admintd">初中数学</td>' & @CRLF & _
                                '                                                                        <td class="admintd"><a onclick="return confirm(' & "'是否确定删除该课程?');" & '" id="StudentBookShelflist_ctl01_Linkbutton1" href="javascript:__doPostBack(' & "'StudentBookShelflist$ctl01$Linkbutton1','')" & '">删除</a></td>' & @CRLF & _
                                '                                                                </tr>' & @CRLF & _
                                '                                                                                    ' & @CRLF & _
                                '                                                                                                                   <tr align="center">' & @CRLF & _
                                '                                                                                                                   <!--<td align="center" style="height:24;font-size:14px">初中数学新课程典型课案例与点评</td>-->' & @CRLF & _
                                '                                                                            <td class="admintd"><a href=' & "'# ' onclick=" & '"OpenBook(10)" >初中数学新课程典型课案例与点评</a></td>' & @CRLF & _
                                '                                                                        <td class="admintd">0 小时 0 分钟 </td>' & @CRLF & _
                                '                                                                        <td class="admintd">初中数学</td>'
Local $asResult = StringRegExp($sText, '((?s)\((\d+)\)"\s*>(.*?)<.*?"admintd">(.*?)<)', 3)
If Not @Error Then
        Local $iCount, $sTip, $iStep 
        $iCount = UBound($asResult)/4
        $sTip   = "匹配 " & $iCount & " 个结果"
        _ArrayDisplay($asResult, $sTip)
        
        For $i = 1 To $iCount Step 1
                $iStep = 4*($i-1)+1
                $sTip &= @CRLF & $asResult[$iStep] &@TAB& $asResult[$iStep+1] &@TAB&@TAB& $asResult[$iStep+2]
        Next
        MsgBox(0, "匹配结果", $sTip)
EndIf
Exit
发表于 2011-4-17 23:08:10 | 显示全部楼层
做题.
easefull 发表于 2011-4-17 22:44


自改答案:
((?s)\((\d+)\)"\s*>(.*?)<.*?"admintd">(.*?)<)
1.绿色部分前端应该再匹配一个OpenBook
2.红色部分可以精减成.*?

继续膜拜afan的正则.
发表于 2011-4-17 23:23:15 | 显示全部楼层
本帖最后由 love5173 于 2011-4-17 23:32 编辑
#include <Array.au3>
Local $Str = _
                '<!--<td align="center" style="height:24;font-size:14px">新课程课堂教学行为创新—初中数学</td>-->' & @CRLF & _
                '                                                                            <td class="admintd"><a href=' & "'# ' onclick=" & '"OpenBook(9)" >新课程课堂教学行为创新—初中数学</a></td>' & @CRLF & _
                '                                                                        <td class="admintd">0 小时 0 分钟 </td>' & @CRLF & _
                '                                                                        <td class="admintd">初中数学</td>' & @CRLF & _
                '                                                                        <td class="admintd"><a onclick="return confirm(' & "'是否确定删除该课程?');" & '" id="StudentBookShelflist_ctl01_Linkbutton1" href="javascript:__doPostBack(' & "'StudentBookShelflist$ctl01$Linkbutton1','')" & '">删除</a></td>' & @CRLF & _
                '                                                                </tr>' & @CRLF & _
                '                                                                                    ' & @CRLF & _
                '                                                                                                                   <tr align="center">' & @CRLF & _
                '                                                                                                                   <!--<td align="center" style="height:24;font-size:14px">初中数学新课程典型课案例与点评</td>-->' & @CRLF & _
                '                                                                            <td class="admintd"><a href=' & "'# ' onclick=" & '"OpenBook(10)" >初中数学新课程典型课案例与点评</a></td>' & @CRLF & _
                '                                                                        <td class="admintd">0 小时 0 分钟 </td>' & @CRLF & _
                '                                                                        <td class="admintd">初中数学</td>'
Local $Test = StringRegExpReplace($str, '(?s).*?Book\((\d+).+?>([^<]+).+?admintd">([^<]+)[^\d]+','\1\2\3'&@CRLF)
;_ArrayDisplay($Test, UBound($Test))
MsgBox(0,"",$Test)
发表于 2011-4-18 00:07:54 | 显示全部楼层
Local $Test = StringRegExpReplace($str, '(?s).*?Book\((\d+).+?>([^<]+).+?admintd">([^<]+)[^\d]+','\1' &@TAB& '\2' &@TAB&@TAB& '\3' &@CRLF)
又到手一招...
发表于 2011-11-27 03:02:31 | 显示全部楼层
回复 1# seniors

OpenBook\((?:9|10)\)\V+\s+<td class="admintd">(\d[^<]+)
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-1 07:32 , Processed in 0.081931 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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