Отрицательный просмотр не соответствует неуказанным путям node_module - PullRequest
1 голос
/ 30 января 2020

У меня есть регулярное выражение: 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 /), а также любым / node_modules /, которые не следуют за @juggle/resize-observer или fancy-canvas. Другими словами, он должен соответствовать двум sdgs... бессмысленным модулям выше.

К сожалению, на данный момент он соответствует только /build. Как я могу это исправить? Спасибо

1 Ответ

1 голос
/ 30 января 2020

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)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...