Это очень странно, не могу понять, что происходит, в отдельном тестовом файле у меня есть следующее, и оно работает:
const title = 'apple iphone 8 prateado - smartphone 4.7 64gb 2gb ram hexa-core';
const model = 'iphone 8';
const regExString = "((\\s|^)"+model.trim()+"($|\\s|\\.)(?!GB))";
const regex = new RegExp(regExString, "gi");
const result = title.match(regex);
console.log(result);
Результат печатает 'iphone 8', как и ожидалось.
Однако в моем процессе, который имеет больше кода, он возвращает null, чтобы заставить его работать, мне пришлось сделать следующее в моей regExString:
const regExString = "((\\s|^)"+model.trim().replace(' ', '\\s')+"($|\\s|\\.)(?!GB))";
Но я не могу понять, почему черт возьми, мне нужно добавить, что в моем приложении узла оно должно работать с пробелом вместо
\\ s
.
Какие-нибудь подсказки? Спасибо