js 中,如何匹配字符实体?附代码

2016-09-08 19:57:57 +08:00
 shpasspass
写了一段正则,用来匹配字符串中的链接,代码如下, 另外附上jsbin在线调试地址 http://jsbin.com/xazajelohi/edit?html,js,output
function regLinkWrap(content){
var regtolink =/((( https|http)?:\/\/)([^\u4e00-\u9fa5]+))/g;
var regcontent=content.replace(regtolink,'<a href="$1">$1</a>');
return regcontent;
}
这样的话,当有形如 http://baidu.com 张三 这种字符串的话,就可以顺利用 a 标签包裹。
但是现在碰到一个问题,如果是这种字符串 http://baidu.com&quot;张三
我就用
function regLinkWrap(content){
//怎么去匹配&quot 呢?
var regtolink =/((( https|http)?:\/\/)([^\u4e00-\u9fa5|&quot]+))/g;
var regcontent=content.replace(regtolink,'<a href="$1">$1</a>');
return regcontent;
}
但是如图,匹配到 o 就断开了

我也试过给&quot 加括号,可是依旧无效。
所以求教,如何顺利匹配出&quot;呢?谢谢
1911 次点击
所在节点    问与答
1 条回复
Arthur2e5
2016-09-09 07:22:13 +08:00
你没有发现 [ ] 管的是单个字符的匹配与否吗……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/304914

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX