孤魂 发表于 2008-9-21 04:07:13

请教一个正则表达式匹配问题

<meta name="keywords" content="布兰妮,新专辑,为防盗版,下功夫,新写真,曝光,布兰妮新专辑为防盗版下功夫 新写真曝光(组图)">
上面这一段字符串,是系统关键词+标题组成,请教一下会正则的朋友,怎么样可以提取从 c:格式:正则前字符串(?<content>[\w\W]*?) 正则后字符串详细教程见:http://bbs.locoy.com/spider-19720-1-1.html


只需要采集:布兰妮,新专辑,为防盗版,下功夫,新写真,曝光,这一段.
曝光,布兰妮新专辑为防盗版下功夫 新写真曝光(组图)这一段是不需要的,他们之间的唯一分割符号就是最后一个,号

为了这个东东,昨天晚上一晚上睡不着,都在想咋解决呢?

mzover 发表于 2008-9-21 04:10:40

一直不明白正则。。。都是用HTML来采集。。

孤魂 发表于 2008-9-21 05:17:34

百度了一个多小时还没解决,先睡觉先,希望有能力的朋友帮帮忙

soarb 发表于 2008-9-21 07:04:50

没听懂问什么哦

chenfy 发表于 2008-9-21 07:34:47

我也没有看明白。

rq204 发表于 2008-9-21 08:14:30

回复 1楼 的帖子

重说一下,不知你什么意思。要什么效果

飛越無限 发表于 2008-9-21 08:57:45

没有看到给一下具体的地址我抓个图给你看效果吧

xyz5200 发表于 2008-9-21 11:03:00

收藏一下。等着答案。

aven 发表于 2008-9-21 12:14:30

如果单纯的用标准正则

从<meta name="keywords" c>

匹配出 布兰妮,新专辑,为防盗版,下功夫,新写真,曝光  就是最后一个逗号前的内容

很简单,下面的写法就可以

\"(.*)[\,]

已测试绝对可用

如图片,是没有最后一个逗号的




放到火车里我试了一下

下面这样写是可以达到楼主的要求的


keywords" content="(?(.*)[\,])

但放到火车里匹配就会出现最后一个逗号

郁闷

[ 本帖最后由 aven 于 2008-9-21 12:20 编辑 ]

孤魂 发表于 2008-9-21 12:15:59

飞越这个不成,这是截取整段的了,如果要整段的就不用正则了
页: [1] 2
查看完整版本: 请教一个正则表达式匹配问题