请帮忙解释这段正则 (?<=<a href ?= ?\"?)[^\">]+?(?=\"|>)
这段正则表达式用于取网页中的所有链接,小弟实在搞不明白它各个标记都是什么意思,求各位大侠赐教。(?<=<ahref?=?\"?)[^\">]+?(?=\"|>)...
这段正则表达式用于取网页中的所有链接,小弟实在搞不明白它各个标记都是什么意思,求各位大侠赐教。(?<=<a href ?= ?\"?)[^\">]+?(?=\"|>)
展开
2个回答
展开全部
正则表达式,但是是错误的,运行不了。。。。
意思是想匹配 <a href= "{http://zhidao.baidu.com/question/135345610.htm}"> 当中我画在大括号里的内容,也就是
http://zhidao.baidu.com/question/135345610.htm
从http:// 开始起,向回看要是以 <a href = " 开头, 最后以 “或者>结束的任何网址,不仅限于百度
为什么说错呢,因为向回看时,它说可能有空格( ?)--因为是向回看,表示它都看过了,所以到底有没空格,不可以说可能有,可能没有。。。
稍微改好一点应该是,也不是最佳的:
/(?<=<a href=\")[^\s>]+(?=\s*\"?>) |
(?<=<a href[ ]=[ ]\")[^\s>]+(?=\s*\"?>)/x
意思是想匹配 <a href= "{http://zhidao.baidu.com/question/135345610.htm}"> 当中我画在大括号里的内容,也就是
http://zhidao.baidu.com/question/135345610.htm
从http:// 开始起,向回看要是以 <a href = " 开头, 最后以 “或者>结束的任何网址,不仅限于百度
为什么说错呢,因为向回看时,它说可能有空格( ?)--因为是向回看,表示它都看过了,所以到底有没空格,不可以说可能有,可能没有。。。
稍微改好一点应该是,也不是最佳的:
/(?<=<a href=\")[^\s>]+(?=\s*\"?>) |
(?<=<a href[ ]=[ ]\")[^\s>]+(?=\s*\"?>)/x
展开全部
给你个地址你可以看下 希望对你有帮助
http://www.regexlab.com/zh/regref.htm
http://www.regexlab.com/zh/regref.htm
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询