区安贞 发表于 2014-5-14 19:38:05

正则 表达

本帖最后由 区安贞 于 2014-5-14 19:53 编辑

我au3抓取网页信息 保存txt

<li data-cmd="0" data-ptime="2014-05-14 19:00:00" data-cname="国内" data-pname="新闻" _hot="live.souhu.newellist" data-playid="222445654" data-index="1" data-key="34">
<img onerror="picerr(this,3)" data-src="http://www.baidu。com/newsapp_ls/0/11987379_3030/0"/>
<span>安徽新闻</span>

我填写data-playid="(.*?)"能抓到
我想抓data-cname=内容 和 data-playid=后的内容 保存为txt

想抓取 新闻222445654 保存为文本

表达式怎么写啊
谢谢新手刚入门

lpxx 发表于 2014-5-14 21:40:59

本帖最后由 lpxx 于 2014-5-14 21:44 编辑

#include <Array.au3>
Local $Str = _
                '<li data-cmd="0" data-ptime="2014-05-14 19:00:00" data-cname="国内" data-pname="新闻" _hot="live.souhu.newellist" data-playid="222445654" data-index="1" data-key="34">' & @CRLF & _
                '<img onerror="picerr(this,3)" data-src="http://www.baidu。com/newsapp_ls/0/11987379_3030/0"/>' & @CRLF & _
                '<span>安徽新闻</span>' & @CRLF
MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExp($str, 'data-(?:cname|playid)="([^"]+)', 3)
If Not @Error Then MsgBox(0, '匹配数量: ' & UBound($Test), '其中元素为: ' & $Test)
_ArrayDisplay($Test, UBound($Test))
就这点能耐,坐等afan大神答案。

区安贞 发表于 2014-5-15 12:44:04

Local $Test = StringRegExp($str, 'data-(?:cname|playid)="([^"]+)', 3)
谢谢大哥原来这样写 data-(?:cname|playid)="([^"]+)

如果文本保存为一行 该怎么写啊
页: [1]
查看完整版本: 正则 表达