正则获取一段字符保存成数组
网页代码:ADVSUBDIRmrsd\ ALLADVS=290;328;347; 290*AdvID=290 290*Sex=2 290*FileSize=22713 290*ChkSum=F8BCF4E0 290*AdvUrl=http://rsys.topfreeweb.net/ADsite/goUrl.asp?advclass=5 290*AdvTime= 290*Priority=0 290*AdvClass=4 290*AdvTyp=1 290*FileType=10 290*Settings= 328*AdvID=328 328*Sex=2 328*FileSize=1203063 328*ChkSum=8B73C2F2 328*AdvUrl= 328*AdvTime= 328*Priority=0 328*AdvClass=11 328*AdvTyp=1 328*FileType=2 328*Settings= 347*AdvID=347 347*Sex=2 347*FileSize=17111 347*ChkSum=86AABBAF 347*AdvUrl=http://116.204.66.52/ADsite/refresh.asp?advclass=3 347*AdvTime= 347*Priority=0 347*AdvClass=3 347*AdvTyp=1 347*FileType=0 347*Settings= 获取 ALLADVS=290;328;347; 这段,保存成数组。。 只会写StringRegExp($str, 'ALLADVS=.*', 3), 高手指条正则明路,感激。。 回复 1# DenQALLADVS=\H+ 回复 2# user3000
只需要 ALLADVS=290;328;347; 这段哦 回复 3# DenQ
无语, 完整是" StringRegExp($str, 'ALLADVS=\H+', 3) "
想偷懒,少打几个字都不行呀? 回复 4# user3000
知道写在哪里。还是错的。 - - 我有这么愚钝么。。 回复 5# DenQ
上面代码用1楼你帖出的'源码'能成功得出结果: ALLADVS=290;328;347;
也许要加上 (?i)?
再试试这个 :(?i)ALLADVS=[\d;]+ \S+\=\S+; #include "array.au3"
$a="ADVSUBDIRmrsd\ ALLADVS=290;328;347; 290*AdvID=290 290*Sex=2 290*FileSize=22713 290*ChkSum=F8BCF4E0 290*AdvUrl=http://rsys.topfreeweb.net/ADsite/goUrl.asp?advclass=5 290*AdvTime= 290*Priority=0 290*AdvClass=4 290*AdvTyp=1 290*FileType=10 290*Settings= 328*AdvID=328 328*Sex=2 328*FileSize=1203063 328*ChkSum=8B73C2F2 328*AdvUrl= 328*AdvTime= 328*Priority=0 328*AdvClass=11 328*AdvTyp=1 328*FileType=2 328*Settings= 347*AdvID=347 347*Sex=2 347*FileSize=17111 347*ChkSum=86AABBAF 347*AdvUrl=http://116.204.66.52/ADsite/refresh.asp?advclass=3 347*AdvTime= 347*Priority=0 347*AdvClass=3 347*AdvTyp=1 347*FileType=0 347*Settings="
$b=StringRegExp($a,"(\d+);",3)
_ArrayDisplay($b) 看到数组头就晕
页:
[1]