正则表达式问题,/(http:\/\/[\w.\/]+)(?![^<]+>)/gi;中的“?!”是什么意思?

aamiiLA 2011-03-16 09:33:26
/(http:\/\/[\w.\/]+)(?![^<]+>)/gi;

这个是用来将网址直接转换成URL链接的,但是发现?后面的无法匹配,想修改一下。但是发现这里有个!,这是什么意思呢?应该如何修改才好?

...全文
245 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
(?!) 学名叫做:negative lookahead 否定型顺序环视

参考这个帖子我在 2 楼的回复:

http://topic.csdn.net/u/20090429/17/4ec37040-aba0-48e5-8fec-84b4cdd9e78d.html
jeky_zhang2013 2011-03-17
  • 打赏
  • 举报
回复
?!就是后面不能有里面的字符吧,匹配?后面的参数?(.+=.+)+, 这个要多试下
aamiiLA 2011-03-17
  • 打赏
  • 举报
回复
这个程序可以取网址加上URL的,但是却没办法取“?”后面的参数。
aamiiLA 2011-03-17
  • 打赏
  • 举报
回复
原程序:


window.onload=function(){
var div = document.getElementById("container");
var s=div.innerHTML;
var re = /(http:\/\/[\w.\/]+)(?![^<]+>)/gi;
div.innerHTML=s.replace(re,"<a href='$1' target='_blank'>$1</a>");
aamiiLA 2011-03-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lzj0470 的回复:]
<a.*?href=("|\'|)([^\'"#{};\s]+)("|\'|).*?>
这个应该能解决你的问题,试试不行在说。
[/Quote]

一点不行啊。
lzj0470 2011-03-16
  • 打赏
  • 举报
回复
<a.*?href=("|\'|)([^\'"#{};\s]+)("|\'|).*?>
这个应该能解决你的问题,试试不行在说。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧