繁体   English   中英

负前瞻不匹配非指定的 node_module 路径

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM