Регулярное выражение для сопоставления предложения с сокращением - PullRequest
0 голосов
/ 29 августа 2018

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

Например, коллекция - это что-то вроде

{title: "Do Androids Dream of Electric Sheeps},

Мой текст для поиска может быть DADES.

Текущий запрос:

db.collection.find({title: {$regex: "android", $options: "i"}})

Я хочу сопоставить приведенную выше запись для DADES.

Примечание. Название страны является лишь примером, и текст будет динамическим.

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

На основании комментария @ pacholik,

db.collection.find({title: {$regex: "U.*S.*.A.*", $options: "i"}})

Дает мне лучший результат. Я построю регулярное выражение на основе текста поиска.

Спасибо!

0 голосов
/ 29 августа 2018

Отредактировано на основе дополнительных критериев приемки, заданных ОП;

Попробуйте следующее регулярное выражение;

^([USA]\w+\s*)+(?!of)$

Это будет соответствовать приведенным ниже примерам;

United States of America

United States America

Это игнорировало бы следующее;

United Kingdom

Вы можете добавить дополнительные words, чтобы игнорировать их, добавив их в (?!of|and|or). В этом примере я игнорирую слова;

of

and

or

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...