开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2092|回复: 12
收起左侧

[已解决] 用支持库的正则表达式 怎么匹配下面的文本

 关闭 [复制链接]
结帖率:91% (171/188)
发表于 2014-1-27 11:18:31 | 显示全部楼层 |阅读模式   广西壮族自治区梧州市
5精币
本帖最后由 付笑 于 2014-1-27 11:22 编辑

我是想用支持库的正则表达式,不想用精易模块的正则表达式类啊,结果发现同样的表达式匹配结果不一样

现在我想用支持库的正则,匹配下面的文本

=================================================
  
            <div>
                <div class="atl-pages"><form action="" method="get">
                <span>上页</span>
<strong>1</strong>
<a href="/post-free-4058865-2.shtml">2</a>
<a href="/post-free-4058865-3.shtml">3</a>
<a href="/post-free-4058865-4.shtml">4</a>

<a href="/post-free-4058865-16.shtml">16</a>
<a href="/post-free-4058865-2.shtml" class="js-keyboard-next">下页</a>
到<input name="page" class="pagetxt" type="text"/>页 <input name="gopage" class="pagebtn" type="submit" maxLength="6" value="确定"/></form></div>
            </div>
=========================================================

我只想匹配出这两句,其它的都不要
<a href="/post-free-4058865-16.shtml">16</a>
<a href="/post-free-4058865-2.shtml" class="js-keyboard-next">下页</a>


请问表达式要怎么写啊,试了好久都没试出来,

我用这个表达式去匹配:\n<a href="(.*?)">(\d*?)</a>\n<a href="(.*?)" class="(.*?)">下页</a>

结果会多出前面几句来,求高手写个能匹配所要求的那两句的表达啊

我主要是想把“下页”和前面那个"16"匹配出来

最佳答案

查看完整内容

匹配16的那个 跟前面的规律是一样的 所以 一个正则表达式可以把前面的也匹配出来 楼主不想要的话 可以不取前面的 需要用16 就只取16那个就行了 正则主要用于批量匹配 楼主只需要取个别的 直接用取文本中间即可

求助知识:请将问题描述清楚,最好把你有问题的源码打包上传上来,这样更方便大家帮助你。
友情提醒:本版被采纳的主题可在 申请荣誉值 帖子申请荣誉值,获得 3点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。

结帖率:75% (3/4)
发表于 2014-1-27 11:18:32 | 显示全部楼层   河南省驻马店市
匹配16的那个  跟前面的规律是一样的   所以  一个正则表达式可以把前面的也匹配出来
楼主不想要的话  可以不取前面的   需要用16  就只取16那个就行了
正则主要用于批量匹配
楼主只需要取个别的  直接用取文本中间即可

评分

参与人数 1荣誉 +3 收起 理由
笨潴 + 3 热心帮助他人,荣誉+3,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:91% (171/188)
 楼主| 发表于 2014-2-2 17:24:51 | 显示全部楼层   广西壮族自治区南宁市
天中小和尚 发表于 2014-1-28 10:07
匹配16的那个  跟前面的规律是一样的   所以  一个正则表达式可以把前面的也匹配出来
楼主不想要的话  可 ...

支持库的正则会大范围匹配,总是多出来自己不想要的,精易模块的正则容易崩溃
回复

使用道具 举报

结帖率:75% (3/4)
发表于 2014-2-2 18:22:50 | 显示全部楼层   河南省驻马店市
多出来自己不想要的不用就行了   用哪个 取哪个 不就行了   
回复

使用道具 举报

结帖率:91% (171/188)
 楼主| 发表于 2014-2-3 00:01:39 | 显示全部楼层   广西壮族自治区南宁市
天中小和尚 发表于 2014-2-2 18:22
多出来自己不想要的不用就行了   用哪个 取哪个 不就行了

关键是这样匹配很混乱呢,有些匹配不出来,就是不想要的要到了,想要的确没有要到
回复

使用道具 举报

结帖率:100% (5/5)
发表于 2014-2-3 11:47:15 | 显示全部楼层   江苏省盐城市
正则表达式支持库取文本.rar (1.6 KB, 下载次数: 6)
回复

使用道具 举报

结帖率:91% (171/188)
 楼主| 发表于 2014-2-3 13:21:32 | 显示全部楼层   广西壮族自治区南宁市

我只想匹配出这两句,其它的都不要
<a href="/post-free-4058865-16.shtml">16</a>
<a href="/post-free-4058865-2.shtml" class="js-keyboard-next">下页</a>

你的代码得出的匹配文本 多了前面几句
回复

使用道具 举报

结帖率:91% (171/188)
 楼主| 发表于 2014-2-3 13:22:08 | 显示全部楼层   广西壮族自治区南宁市

调试输出 (局_搜索结果 [1].取匹配文本 (源文本, ))

就是用他输出的内容多了
回复

使用道具 举报

结帖率:100% (5/5)
发表于 2014-2-3 13:34:32 | 显示全部楼层   江苏省盐城市
付笑 发表于 2014-2-3 13:21
我只想匹配出这两句,其它的都不要
16
下页

不可能啊,我最后匹配出来的就是你要求的 16 和 下页 啊...

前面是我在代码里面加的啊,起提示作用,你完全可以注释掉
回复

使用道具 举报

结帖率:100% (5/5)
发表于 2014-2-3 13:39:53 | 显示全部楼层   江苏省盐城市
付笑 发表于 2014-2-3 13:22
调试输出 (局_搜索结果 [1].取匹配文本 (源文本, ))

就是用他输出的内容多了

你指这个? 你完全可以将取出来的16 和下页 根据前面的链接结构自已进行组建啊,你难道没看到前面链接的特点?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表