[已解决]请教个正则问题,
本帖最后由 傻娃 于 2010-7-16 09:46 编辑#Region AutoIt3Wrapper 预编译参数(常用参数)
#AutoIt3Wrapper_Icon= ;图标,支持EXE,DLL,ICO
#AutoIt3Wrapper_OutFile= ;输出文件名
#AutoIt3Wrapper_OutFile_Type=exe ;文件类型
#AutoIt3Wrapper_Compression=4 ;压缩等级
#AutoIt3Wrapper_UseUpx=y ;使用压缩
#AutoIt3Wrapper_Res_Comment= ;注释
#AutoIt3Wrapper_Res_Description= ;详细信息
#AutoIt3Wrapper_Res_Fileversion= ;文件版本
#AutoIt3Wrapper_Res_FileVersion_AutoIncrement=p ;自动更新版本
#AutoIt3Wrapper_Res_LegalCopyright= ;版权
#AutoIt3Wrapper_Change2CUI=N ;修改输出的程序为CUI(控制台程序)
;#AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer% ;自定义资源段
;#AutoIt3Wrapper_Run_Tidy= ;脚本整理
;#AutoIt3Wrapper_Run_Obfuscator= ;代码迷惑
;#AutoIt3Wrapper_Run_AU3Check= ;语法检查
;#AutoIt3Wrapper_Run_Before= ;运行前
;#AutoIt3Wrapper_Run_After= ;运行后
#EndRegion AutoIt3Wrapper 预编译参数设置完成
#cs ____________________________________
Au3 版本:
脚本作者:
Email:
QQ/TM:
脚本版本:
脚本功能:
#ce _______________脚本开始_________________
#include <inet.au3>
#include <Array.au3>
#include <file.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
_IEErrorHandlerRegister ()
GUICreate("", 500, 450, 10, 10, $WS_POPUPWINDOW, $WS_EX_TOOLWINDOW)
$oIE = _IECreateEmbedded()
$web = "file://c:/Documents%20and%20Settings/Administrator/Local%20Settings/Temp/1.htm"
$GUIActiveX = GUICtrlCreateObj($oIE, -2, -2, 500, 420)
$Reload = GUICtrlCreateButton("刷 新", 0, 420, 80, 30)
$GUI_Button_Close = GUICtrlCreateButton("退 出", 420, 420, 80, 30)
createhtm()
$oIE.navigate($web)
$oIE.navigate($web)
$oIE.refresh
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_Button_Close
ExitLoop
Case $msg=$Reload
createhtm()
$oIE.navigate($web)
$oIE.refresh
EndSelect
WEnd
Func createhtm()
InetGet("http://www.autoitx.com/forum-4-1.html",@TempDir&"\temp.txt")
$Str=FileRead(@TempDir&"\temp.txt")
$sR = StringRegExp($str, "\<a\h\S*\h+title\=\'\S*\h+target\=\'\_blank\'\>\S*\<\/a\>", 3)
For $i=0 To UBound($sR)-1
$sR[$i]=StringReplace($sR[$i],"<a href='","<a href='http://www.autoitx.com/")&"<br>"
Next
_FileWriteFromArray(@TempDir&"\1.htm",$sR)
If Not(FileExists(@TempDir&"\1.htm")) Then
createhtm()
EndIf
EndFunc
获取不到呢,刚学正则,请高手指点. 你是想获取什么东东呢? 回复 2# 水木子
我想获取这个板块的帖子,然后在GUI里显示出来, 最好别拿咱们论坛玩,多少会影响点浏览~#include <INet.au3>
#include <Array.au3>
$Url = 'http://www.autoitx.com/forum-4-1.html'
Tooltip('正在获取源码,请稍候……')
$str = _INetGetSource($Url)
$sR = StringRegExp($str, '\[\<.+>(.+)</a></span>', 3)
If @error Then Exit MsgBox(0, 0, '未找到匹配~')
Tooltip('')
_ArrayDisplay($sR, '标题') 谢谢楼上大哥,,
<th class="subject new">
<label> </label>
<em>[<a href="forumdisplay.php?fid=101&filter=type&typeid=14">杂货其他</a>]</em><span id="thread_672264"><a href="thread-672264-1-1.html">求购二手电动车</a></span>
</th>
如上,如果获取上面那个数字672264 该怎么写?
这个是网址
http://bbs.zbgl.net/forum-101-1.html 回复 4# afan
我把(.+)往前移了移不行。 回复 4# afan
$sR = StringRegExp($str, '\[\<.+>\<a\h+href=(.+)>*</a></span>', 3)
通过这样获取到一些,不知道引号用什么符号代替呢? 还是搞不出怎么能弄的只获取数字 你其实是需要“thread-672264-1-1.html”
StringRegExp($str, 'href=\"(thread-\d+-\d+-\d+.html)\">', 3) 虽然还不懂,但是要顶 回复 9# afan
谢谢大哥,学习了
页:
[1]