V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
shpasspass
V2EX  ›  问与答

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

  •  
  •   shpasspass · 2016-09-08 19:57:57 +08:00 · 1932 次点击
    这是一个创建于 3016 天前的主题,其中的信息可能已经有所发展或是发生改变。
    写了一段正则,用来匹配字符串中的链接,代码如下, 另外附上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;呢?谢谢
    1 条回复    2016-09-09 07:22:13 +08:00
    Arthur2e5
        1
    Arthur2e5  
       2016-09-09 07:22:13 +08:00
    你没有发现 [ ] 管的是单个字符的匹配与否吗……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   855 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:00 · PVG 05:00 · LAX 13:00 · JFK 16:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.