正则替换一行字符,自己写的,不知大问题在那里
<div class="box02" style=" padding:10px; font-size:16px; line-height:30px;height:62px;">您是第 <font color="#CC0000">1713951</font> 位浏览者<br />今日访问量:<font color="#CC0000">106</font></div>红色部分替换成空,或者将红色部分的数字替换成空
我自己写的
Local $s=StringRegExpReplace($HTMLSource,"您是第 <font color=""#CC0000"">\d+<\/font><\/div>","")
不懂那里错了。求解
$HTMLSource 是读取的变量
本帖最后由 afan 于 2019-9-23 16:07 编辑
差3个字符
Local $ s= StringRegExpReplace($HTMLSource, '您是第 <font color="#CC0000">\d+<.+?\/font><\/div>', '')
p.s, 正则不要匹配多了字符,一般只会适得其反。 这里 您.+?v> 即可
他这个好像不能反贪婪,只有这一句的话这样到时行! Local $ s= StringRegExpReplace($HTMLSource, '您.+>\d+<\/font><\/div>', '') gzh888666 发表于 2019-9-23 18:35
他这个好像不能反贪婪,只有这一句的话这样到时行! Local $ s= StringRegExpReplace($HTMLSource, '您.+ ...
没问题的,不管是一行还是无数行 afan 发表于 2019-9-23 16:02
差3个字符
Local $ s= StringRegExpReplace($HTMLSource, '您是第 \d+', '')
p.s, 正则不要匹配多了字符 ...
Local $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
$oHTTP.Open("GET", "https://www.nsiac.org.cn/")
$oHTTP.Send()
Local $HTMLSource = $oHTTP.ResponseText
$oHTTP = 0
Local $s= StringRegExpReplace($HTMLSource, '您是第 <font color="#CC0000">\d+<.+?\/font><\/div>', '')
If FileExists("d:\nsiac.txt") Then
Else
MsgBox(0, "通知", "首次运行自动建立对比源码文件", 10)
FileWrite("d:\nsiac.txt", $s)
EndIf
$file = FileRead("d:\nsiac.txt")
If $file = $s Then
MsgBox(0, "通知", "网站正常", 10)
Else
MsgBox(0, "通知", "网站不正常正常", 10)
SoundPlay("8359.wav", 1)
nsiac()
EndIf
为什么明明相同,对比结果却说不同,我用软件WINMERGE对比也是说相同,au3怎么就说不同。。求大神指点迷津,我其他2个网址也是这样的方式,没问题 basc 发表于 2019-9-23 20:20
Local $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
$oHTTP.Open("GET", "https://www.nsiac.org. ...
我这XP,获取网页源码失败,没法验证。用 ObjCreate('msxml2.xmlhttp') 方式获取到源码后,后面的比对均正常。 basc 发表于 2019-9-23 20:20
Local $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
$oHTTP.Open("GET", "https://www.nsiac.org. ...
这就是你和明明的却别。。。
返回的网站内容第一个字符是问号,判断一下,如果第一个字符是问号,就把第一个字符删掉,然后再写入和比较。 afan 发表于 2019-9-23 21:34
我这XP,获取网页源码失败,没法验证。用 ObjCreate('msxml2.xmlhttp') 方式获取到源码后,后面的比对均 ...
3.3.14.0之后的版本么? haijie1223 发表于 2019-9-24 18:39
3.3.14.0之后的版本么?
是的 3.3.14.2 afan 发表于 2019-9-24 18:44
是的 3.3.14.2
那就对了,早就说过3.3.14.0之后的版本com对象有问题,之前刚出14版本的时候,我就遇到过好几次,而且好几个人跟我反馈过这个问题,所以我就一直在用3.3.13.12这个beta的版本,没有再升级。 haijie1223 发表于 2019-9-24 18:53
那就对了,早就说过3.3.14.0之后的版本com对象有问题,之前刚出14版本的时候,我就遇到过好几次,而且好 ...
刚刚测试了3.3.6.1开始的版本,3.3.9.4~3.3.13.x 未出错,但返回空,其它出错。
个人认为主因是Com对象的类名及XP的原因。 afan 发表于 2019-9-24 18:57
刚刚测试了3.3.6.1开始的版本,3.3.9.4~3.3.13.x 未出错,但返回空,其它出错。
个人认为主因是Com对象 ...
对于这种com类的调用,还是用api吧,AU3封装的不是太好。
haijie1223 发表于 2019-9-24 20:36
对于这种com类的调用,还是用api吧,AU3封装的不是太好。
应该是吧 用api自己封装感觉踏实点我是木有研究要搞的话就得 一票否决政策优先兼容性,XP不能用的直接pass掉 afan 发表于 2019-9-24 20:42
应该是吧 用api自己封装感觉踏实点我是木有研究要搞的话就得 一票否决政策优先兼容性,XP不能用的 ...
https://www.autoitscript.com/forum/topic/110379-autoitobject-udf/
这个UDF就是用API创建com对象 haijie1223 发表于 2019-9-24 20:55
https://www.autoitscript.com/forum/topic/110379-autoitobject-udf/
这个UDF就是用API创建com对象
那得你搞才行啊你是专业分子~
对象认得我,也得我认得它才行……
页:
[1]
2