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

2016-06-08  本文已影响47人  lizhihua

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>

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

上一篇 下一篇

猜你喜欢

热点阅读