玉树TMD临风 发表于 2014-11-7 22:24:40

帮忙指导一下(?<content>[\s\S]*?)的具体用法,高手们都要收费。

我在采集一个论坛,标题、内容、作者都可以采下来,现在我想从内容里提取出QQ号码

比如内容是”我的QQ:6419822 phone:0574-55846546“

我在正则表达式里该怎么写(?<content>[\s\S]*?)

我的思路是取出至少5位以上的数字,用^\d{n,}$,但是这个怎么和(?<content>)结合?

用过
QQ(?<content>^\d{n,}$)

(QQ?<content>^\d{n,}$)
都不行

玉树TMD临风 发表于 2014-11-8 00:03:23

搞了2个多小时,终于搞好了,答案是:[.\n]*QQ\D*(?<content>\d*)

玉树TMD临风 发表于 2014-11-8 00:08:10

还有BUG,如果内容中有”QQ“字样,会出现正确结果,如果没有,就会出现不想要的一大串正文内容,请大神们继续指点,我先休息了。

采集超市 发表于 2014-11-8 09:08:11

这种不是很规律的代码,需要插件处理下,一般可以先结合正文截取一段前后有html标记的内容或者一段内容,然后再使用正则匹配,这样处理的精度会高点!直接处理效果会很差














http://bbs.locoy.com/data/attachment/forum/201410/29/160107b3uz3c86316c18mk.png
『采集超市』专注于火车头规则、插件、模块、接口等周边产品开发!为企业和个人提供全方位的采集发布方案!
联系QQ: http://www.3464.com/tools/qqonline/Images/QQOnline/6_online.gif
官方网站:www.locoymall.com
http://bbs.locoy.com/data/attachment/forum/201310/21/002539x2g25ntt59yx85xt.gif

玉树TMD临风 发表于 2014-11-10 20:22:54

采集超市 发表于 2014-11-8 09:08 static/image/common/back.gif
这种不是很规律的代码,需要插件处理下,一般可以先结合正文截取一段前后有html标记的内容或者一段内容,然 ...

我已经把楼层分割,应该相当于截取了前后有HTML的内容,再使用正则,这种办法和你说的用插件没区别吧。
页: [1]
查看完整版本: 帮忙指导一下(?<content>[\s\S]*?)的具体用法,高手们都要收费。