正则零宽断言

零宽:匹配的内容不会保存到匹配结果中(非捕获匹配),只作为匹配结果中的筛选条件。

var str = ./xx/../h/./c/ ;

匹配str的绿色部分;

答:/(?!^(\.{1,2}\/))\.{1,2}\//g

分析:(?!^(\.{1,2}\/)) : ?! 表示(否 | 非 | 不) ,因此,(非./开头不是./开头)

  整体表示:前面内容不是./开头的 ./ 或 ../, 因为../h前面是x/.  。./c前面是h/

原文地址:https://www.cnblogs.com/littleboyck/p/15670406.html