[英]Negative lookahead not matching non-specified node_module paths
我有一个正则表达式如下: https : //regex101.com/r/oI3dU5/1/
\/(build|node_modules\/(?!@juggle\/resize-observer|fancy-canvas))\/gm
/gm
只是为了方便测试 - 测试实际上是逐行的。
给定以下输入(如上所述,逐行):
/build/sdgsdg
/dsgdsgsdg/dsgdsg
/node_modules/sdgsdg
/node_modules/sdgsdgsdf/dsg
/node_modules/@juggle/resize-observer
/node_modules/fancy-canvas
它应该匹配第一个 (/build/) 以及任何不跟在@juggle/resize-observer
juggle @juggle/resize-observer
或 Fantasy fancy-canvas
后面的 /node_modules/ 。 换句话说,它应该匹配上面的两个sdgs...
废话模块。
不幸的是,它目前只匹配/build
。 我该如何解决? 谢谢
const reg = /\\/build\\/|\\/node_modules\\/(?!(fancy-canvas|@juggle\\/resize-observer))/g; const arr = [ '/build/sdgsdg', '/dsgdsgsdg/dsgdsg', '/node_modules/sdgsdg', '/node_modules/sdgsdgsdf/dsg', '/node_modules/@juggle/resize-observer', '/node_modules/fancy-canvas', '/node_modules/abcd/fancy-canvas' ] console.log(arr.map(a => a.match(reg)));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.