求一正则(已解决)
本帖最后由 shano 于 2010-9-14 00:16 编辑目标是抓取一网页上的代理IP地址http://www.proxyfire.net/index.php?pageid=socks5proxylist
首先我用_IEDocReadHTML读取的源码 但是网页加密无法抓取到IP
所以改用笨方法 发送CTRL+C 然后从剪切板获取目前遇到的问题是
复制到的代理格式如下 24.20.241.75⃧ 27977 SOCKS5UNITED
中间那个“⃧ ” 应该怎么用正则替换成":"
目的格式为24.20.241.75:27977
#include <ie.au3>
#include <File.au3>
#include <Array.au3>
$oIE= _IECreate("http://www.proxyfire.net/index.php?pageid=socks5proxylist")
_IELoadWait($oIE)
Sleep(2000)
_IEAction ($oIE, "selectall");全选
Sleep(2000)
Send("^c") ;复制
Send("^c") ;复制
Dim $sR,$str,$i
$str = ClipGet()
MsgBox(0,0,$str); 显示获取到的内容代理IP在最下面几行
$sR= StringRegExp($str,'\d{2}(.+?)SOCKS5', 2) ;正则匹配以数字开头 以SOCKS5结束的行
$sR= StringRegExpReplace($sR,'SOCKS5', '') ;到这里都没问题提取到的格式为24.20.241.75⃧ 27977
$sR= StringRegExpReplace($sR,'?', ':') ;问题就在这句了不知道怎么匹配那个“⃧”
MsgBox(0,0,$sR)
请各位朋友帮忙看看 $str="24.20.241.75? 27977 SOCKS5UNITED"
$astr=StringRegExp($str,"(+?)\? (\d+).*",3)
If Not @Error Then msgbox(0,'',$astr&":"&$astr) 本帖最后由 afan 于 2010-9-12 12:25 编辑
$Str = '24.20.241.75⃧ 27977 SOCKS5UNITED'
$str = StringRegExpReplace($str, '(\d+\.[\d\.]+)[^\d]+(\d+).+', '$1:$2')
Msgbox(0, '替换后', $str)$Str = '24.20.241.75⃧ 27977 SOCKS5UNITED'
$str = StringRegExpReplace($str, '(\d+\.[\d\.]+)[^\d]+(\d+).+', '$1:$2')
Msgbox(0, '替换后', $str) 无语了,终于体会到$1的作用。。。 无语了,终于体会到$1的作用。。。
kxing 发表于 2010-9-12 12:37 http://www.autoitx.com/images/common/back.gif
什么作用
页:
[1]