shpasspass
V2EX  ›  问与答

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

  •  
  •   shpasspass · Sep 8, 2016 · 2560 views
    This topic created in 3562 days ago, the information mentioned may be changed or developed.
    写了一段正则,用来匹配字符串中的链接,代码如下, 另外附上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 replies    2016-09-09 07:22:13 +08:00
    Arthur2e5
        1
    Arthur2e5  
       Sep 9, 2016
    你没有发现 [ ] 管的是单个字符的匹配与否吗……
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1419 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 16:53 · PVG 00:53 · LAX 09:53 · JFK 12:53
    ♥ Do have faith in what you're doing.