美文网首页
正则:反义和后向引用的区别

正则:反义和后向引用的区别

作者: lizhihua | 来源:发表于2016-06-08 06:41 被阅读47次

    http://deerchao.net/tutorials/regex/regex.htm#negation
    http://deerchao.net/tutorials/regex/regex.htm#backreference
    从字面上理解,后向引用就是说,引用前后所在的位置,但不去做匹配。

    <pre>
    var negation = '[{a=1,b=2},{a=2,b=3}]'.replace(/{/g, '{"').replace(/}/g, '"}').replace(/=/g, '":"').replace(/[}],[{]/g, '","');
    var backreference = '[{a=1,b=2},{a=2,b=3}]'.replace(/{/g, '{"').replace(/}/g, '"}').replace(/=/g, '":"').replace(/(?<!}),(?!{)/g, '","');

    console.log(negation); // [{"a":"","":"2"},{"a":"","":"3"}]
    console.log(backreference); // [{"a":"1","b":"2"},{"a":"2","b":"3"}]
    </pre>

    反义将「,」前后的「{」和「}」也作为匹配结果
    后向引用只匹配左右没有「{」和「}」的「,」

    相关文章

      网友评论

          本文标题:正则:反义和后向引用的区别

          本文链接:https://www.haomeiwen.com/subject/oacjdttx.html