Mongoose не игнорирует пространство в регулярных выражениях? - PullRequest
0 голосов
/ 23 мая 2019

Я хочу сделать простой поиск по регулярному выражению, но по какой-то причине следующий запрос ничего не возвращает

Assessment.find({"name": {
   $regex: /.*Chris Baker.*/,
   $options: "si"
 }
})

в то время как прямой в консоли mongodb: db.deals.find({ 'name': { $regex: /.*Chris Baker.*/, $options: 'si' }}) возвращает ожидаемый результат.

Пробовал другое регулярное выражение:
new RegExp('.*' + queryString + '.*')

/.*Chris[\\S]Baker.*/

Без успеха.Довольно уверенная проблема в космосе.Есть идеи, как это исправить?

1 Ответ

0 голосов
/ 23 мая 2019

Я не уверен, что можно желать. Я предполагаю, что нам нравится собирать все символы, а затем искать Chris Baker, что мы могли бы сделать, используя выражение, подобное:

([\s\S].*?)(Chris Baker)?

enter image description here

enter image description here

Демо

const regex = /([\s\S].*?)(Chris Baker)?/gm;
const str = `Some text we wish here then Chris Baker then some other textSome text we wish here then Chris Baker then some other textSome text we wish here then Chris Baker then some other textSome text we wish here then Chris Baker then some other text`;
const subst = `$1$2`;

// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);

console.log('Substitution result: ', result);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...