LINUX.ORG.RU

Помогите с регуляркой

 ,


0

1

Есть код, который выводит такое:

"true - aaa/node_modules/@hapi/address/lib/index.js"
"false - aaa/src/lib/facebook-pixel.js"
"false - aaa/node_modules/axios/index.js"
"true - aaa/node_modules/facebook-nodejs-business-sdk/node_modules/axios/index.js"
const re = new RegExp('node_modules/(?!(axios))')
const testStrings = [
  'aaa/node_modules/@hapi/address/lib/index.js',
  'aaa/src/lib/facebook-pixel.js',
  'aaa/node_modules/axios/index.js',
  'aaa/node_modules/facebook-nodejs-business-sdk/node_modules/axios/index.js'
];

for (const path of testStrings) {
  console.log(`${re.test(path)} - ${path}`);
}

Я, видимо ошибочно, ожидаю, что 4 строка будет false. Как исправить RegExp, чтобы выводилось false для 4 строки

★★★★★
Ответ на: комментарий от takamushi

ну в идеале, по словам ‘facebook-nodejs-business-sdk’ и ‘axios’ в ней. если оба есть, то фильтруем.

или хотя бы просто, если есть axios в строке. это для некоторых вариантов строк не работает сейчас

ostin ★★★★★
() автор топика
Последнее исправление: ostin (всего исправлений: 1)

нафига тут регулярка если ты сам тут уточнил

нужно:

ну в идеале, по словам ‘facebook-nodejs-business-sdk’ и ‘axios’ в ней

ну как там в js:

tststr.includes("face..sdk") && tststr.includes("axios")

в чём собственно то?

qulinxao3 ★★
()
Последнее исправление: qulinxao3 (всего исправлений: 2)