black丶shark 发表于 2017-5-4 11:16:41

【已解决】请教一下如何用正则获取

本帖最后由 black丶shark 于 2017-5-8 10:33 编辑

请教一下如何用正则获取里面14,西南风,3级,雨

kk_lee69 发表于 2017-5-4 11:24:03

回复 1# black丶shark

大哥你也太過懶惰了吧......... 要請人家 幫你弄正則~~~
貼一張圖.....
難不成你要那些想幫妳的 還得自己 打文字 然後 自己測試 好 然後再告訴你答案嗎??

1361739590 发表于 2017-5-4 11:28:22

直接根据前后内容截取   14,西南风,3级,雨
_StringBetween

black丶shark 发表于 2017-5-4 11:34:29

回复 2# kk_lee69


    正则这块我一点都不会,时间太过紧急,想请求大神们帮忙一下。我是真懵啊

black丶shark 发表于 2017-5-4 11:36:07

$file_html = FileRead(@ScriptDir & "\1.html")
Dim $html = ObjCreate("htmlfile")
With $html
.open()
.designmode = "on"
.write($file_html)
Dim $div = .getElementsByTagName("div")
EndWith


For $i = 0 To $div.length
If StringInStr($div($i).classname, "days7") Then
ExitLoop
EndIf
Next


$Aday = $div($i).getElementsByTagName("b")
$Atemp = $div($i).getElementsByTagName("span")
$Aweather = $div($i).getElementsByTagName("img")

$str = ""
Local $i = 0
Local $NAMES, $sComboTxt, $sComboTxt1;= "所有"
For $m = 0 To $Aday.length * 2 - 1 Step 2
$n = $m / 2

$str = $str & $Aday($n).innertext & " 温度:" & $Atemp($n).innertext & "白天:" & StringFormat("%-4s", $Aweather($m).Alt) & "晚上:" & $Aweather($m + 1).alt & @CRLF
;$i += 30
GUICtrlCreateLabel($Aday($n).innertext, 20, 260 + $i, 50, 240)
GUICtrlSetColor(-1,0x0220d3) ;字体颜色;0xab00fb;;0xFF00FF
GUICtrlSetFont(-1, 11, 600, 0, "微软雅黑")我用这个也能获取么?应该怎样修改一下,当初我尝试用$Aweather = $div($i).getElementsByid("img"),获取id标签是不好用得,因为不知道这个.后面到底应该跟什么?

xzf680 发表于 2017-5-4 11:52:56

"temp":"(.*?)"(?:[\s\S]*?)"WD":"(.*?)"(?:[\s\S]*?)"WS":"(.*?)"(?:[\s\S]*?)"weather":"(.*?)"

1361739590 发表于 2017-5-4 12:11:45

不好用。
直接用这个函数就可以了。_StringBetween
页: [1]
查看完整版本: 【已解决】请教一下如何用正则获取