http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 4315|回复: 8

[其他] 求修改个URL的正则表达式

[复制链接]
发表于 2014-6-3 13:47:24 | 显示全部楼层 |阅读模式
30金钱
((http|https)://)(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,4})*(/[a-zA-Z0-9\&%_\./-~-]*)?
上面的正则挺好用,不过就是有点问题,
比如说<a HREF="http://www.meilishuo.com/share/147255775">http://www.meilishuo.com/share/147255775</A><br />这样的代码连后面的</A><br />都匹配到了


基于上面这个正则修改成并且不包含< 这个符号  请问怎么改?

最佳答案

查看完整内容

这正则写得不是很好,非要这样写,改写一个可以匹配你要求的: ((http|https)://)(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))[0-9]*(/?[^


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-6-3 13:47:25 | 显示全部楼层
这正则写得不是很好,非要这样写,改写一个可以匹配你要求的:
((http|https)://)(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))[0-9]*(/?[^<"]*)
回复

使用道具 举报

发表于 2014-6-3 15:32:14 | 显示全部楼层
你直接这样取多好了
HREF=[\'\"]([\s\S]*?)[\s\"]
直接取m.group[1].value
回复

使用道具 举报

 楼主| 发表于 2014-6-3 17:01:06 | 显示全部楼层
站长苏飞 发表于 2014-6-3 15:32
你直接这样取多好了
HREF=[\'\"]([\s\S]*?)[\s\"]
直接取m.group[1].value

不是啊 我就是想http://www.meilishuo.com/share/147255775</A><br /> 这里面不匹配“<”括号及以后的字符串
因为网址后面紧挨着的是<br />这样,但我的上面的那个正则 却把<这个括号也匹配上了
回复

使用道具 举报

发表于 2014-6-3 17:03:46 | 显示全部楼层
<a[\s\s]*?>([\s\S]*?)</a> 这样用我上面的方法应该就行了吧
回复

使用道具 举报

发表于 2014-6-6 09:33:49 | 显示全部楼层
把你正则最后的问号改成左尖括号
回复

使用道具 举报

 楼主| 发表于 2014-6-9 09:05:29 | 显示全部楼层
cload 发表于 2014-6-3 20:23
这正则写得不是很好,非要这样写,改写一个可以匹配你要求的:
((http|https)://)(([a-zA-Z0-9\._-]+\.[a- ...

谢谢,不过这个正则效果也不太好呢,我传张图片给你看下效果
QQ截图11.png QQ截图2.png QQ截图3.png
回复

使用道具 举报

 楼主| 发表于 2014-6-9 09:14:12 | 显示全部楼层
cload 发表于 2014-6-3 20:23
这正则写得不是很好,非要这样写,改写一个可以匹配你要求的:
((http|https)://)(([a-zA-Z0-9\._-]+\.[a- ...

可以写得再严谨点的吗,比如说过滤一些特殊的符号,谢谢
回复

使用道具 举报

发表于 2014-6-9 10:07:40 | 显示全部楼层
万能、通用的正则表达式或许是不存在的,只能根据你自己的需要来不断完善。
回复

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-5-3 20:59

© 2014-2021

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