在web中用什么办法可以找出正文内容中的URL(网址)?

问题描述

如题!之前试过使用正则,但是总会出现一些问题。例如正文:http://XXXXwww.zhihu.com会找不到该网址,或者会将网址前后的内容也会加入链接的一部分。现在QQ的PC客户端发送网址貌似是完美解决的,请教是如何实现的,或者其他方法。

解决方案

解决方案二:
还是正则!出现问题是因为你的条件设定不正确
解决方案三:
如果是标准的html,那么可以通过相关第三方dll解析,否则的话,只能正则
解决方案四:
引用1楼liups的回复:

还是正则!出现问题是因为你的条件设定不正确

那请问你有这个类似的正则吗?我在网上找的正则都有些问题...
解决方案五:
引用2楼starfd的回复:

如果是标准的html,那么可以通过相关第三方dll解析,否则的话,只能正则

没有用过dll~正则用了很多种,匹配出来的貌似都有问题
解决方案六:
网上搜索,然后自己改
解决方案七:
引用3楼phw123123的回复:

Quote: 引用1楼liups的回复:
还是正则!出现问题是因为你的条件设定不正确

那请问你有这个类似的正则吗?我在网上找的正则都有些问题...

正则我也不是很精通的关键是你现在用的正则可能只能适应某些情况,所以你要做的是:1、继续学习正则2、根据实际情况修改完善你的正则
解决方案八:
可以参考一下这里,这个问题没有这么简单的

时间: 2024-09-30 02:32:22

在web中用什么办法可以找出正文内容中的URL(网址)?的相关文章

求解答-试编写一个算法,找出一个循环链表中的最小值。我是新手,编了一个程序,不知错在哪

问题描述 试编写一个算法,找出一个循环链表中的最小值.我是新手,编了一个程序,不知错在哪 #includeusing namespace std; class LinkNode{ int data; LinkNode *link; LinkNode(int d=0LinkNode *l=0){data=d;link=l;}}; class List{private: LinkNode *first; int n;public: List() { first=new LinkNode; first

找出两数组中不同的数据,并查看他们在以前数组中的索引值

问题描述 找出两数组中不同的数据,并查看他们在以前数组中的索引值 var aa = [1,21,21,21,28]; var bb = [3,4,27,39,21]; var cc = []; var tmp = aa.concat(bb); var o = {}; for (var i = 0; i < tmp.length; i ++){ (tmp[i] in o) ? o[tmp[i]] ++ : o[tmp[i]] = 1; } for (x in o){ if (o[x] == 1){

数组 算法-找出两数组中不同的数据,并查看他们在以前数组中的索引值

问题描述 找出两数组中不同的数据,并查看他们在以前数组中的索引值 var aa = [1,21,21,21,28]; var bb = [3,4,27,39,21]; var cc = []; var tmp = aa.concat(bb); var o = {}; for (var i = 0; i < tmp.length; i ++){ (tmp[i] in o) ? o[tmp[i]] ++ : o[tmp[i]] = 1; } for (x in o){ if (o[x] == 1){

找出给定字符串中出现最多的字符和次数

  "给定一个字符串,找出这个字符串中出现最多的字符和次数",笔试碰到的一个问题,还是比较简单的,贴出来与大家分享. public class CharCount { public static void Charcount(String string) { if (string == null) return; int[] count = new int[string.length()]; for (int i = 0; i < count.length; i++) { //

如何找出Linux系统中所有的*.cpp、*.h文件

如何找出Linux系统中所有的*.cpp.*.h文件? 用find命令就可以了.不过如果从根目录查找消耗资源较高,使用下面的命令就可以: find / -http://www.aliyun.com/zixun/aggregation/11696.html">name "*.cpp" -o -name "*.h" 示例: [root@localhost /]# find / -name "*.cpp" -o -name "

SQL语句练习实例之四 找出促销活动中销售额最高的职员_MsSql

复制代码 代码如下: ---找出促销活动中销售额最高的职员 ---你刚在一家服装销售公司中找到了一份工作,此时经理要求你根据数据库中的两张表得到促销活动销售额最高的销售员 ---1.一张是促销活动表 ---2.一张是销售客列表 create table Promotions ( activity nvarchar(30), sdate datetime, edate datetime ) insert Promotions select '五一促销活动','2011-5-1','2011-5-7

linux-Linux中怎么用grep找出一个文件中空白行的行数字=

问题描述 Linux中怎么用grep找出一个文件中空白行的行数字= 不知道为什么这样写# grep '^&' /etc/profile | wc -l找不出结果, 请问这个应该怎么写才是真确的? 解决方案 grep -E '^$' -n /etc/profile 解决方案二: 加上正则的参数,试试下面的命令 grep -e '^$' -n /etc/profile

List对象中存有整型数组,如何找出这些数组中对应位置上的最大值

问题描述 List对象中有几个长度相同的整型数组,如果再在List中循环找出这些数组中对应位置上的最大value,简单例子说明:假如有三个数组如下:int[]a1=newint[]{3,10,5,0};int[]a2=newint[]{1,9,7,6};int[]a3=newint[]{5,3,5,8};比较后得到新数组对象ax=newint[]{5,9,10,8};请问如何在遍历整个List情形下中实现呢?我的平台是VS2005,不能用LINQ实现.thanks 解决方案 解决方案二:你说你这

艾伟也谈项目管理,找出软件开发过程中的BUG,你需要火眼金睛

1)Bug大都出现在程序员的编码过程中.测试人员工作之一就是找出Bug,面对那些难以被人发现的Bug,测试人员通常会采取哪些手段?以您的经验,对广大测试人员有什么好的建议?对于开发人员,您有什么建议让他们减少Bug的产生? 之所以难以发现,大多是测试案例不够完整,检查测试案例是否全面覆盖了需求,等价类划得是不是够细有助于发现更多的问题. 如果已经发现的问题大多是猜测法发现的,那么惨了,这是一个天马行空的测试,所有的BUG都将是难以发现的BUG,碰运气吧.如果你真的是在这个不幸的团队,别伤心,你有