Есть ли способ/камень для создания регулярных выражений с некоторыми базовыми параметрами поиска.Создать регулярное выражение из массива поисковых запросов ruby
например.
Search = ["\"German Shepherd\"","Collie","poodle", "Miniature Schnauzer"]
Такое, что регулярное выражение будет искать (независимо от регистра) для:
"Немецкая овчарка" - точно ИЛИ "Колли" ИЛИ "пудель" ИЛИ "миниатюрной" И «Шнауцер»
В этом случае примерно следующее:
/German\ Shepherd|Collie|poodle|(?=.*Miniature)(?=.*Schnauzer).+/i
(Открыт для предложений лучших способов сделать последний бит ...)
Другое кроме того, что вы хотите разделить Миниатюрный и шнауцеры, но не немецкий и пастух что-то, как это будет работать. '/ # {search.join ('|')}/i', но с учетом дополнительных критериев методология станет немного сложнее. Можете ли вы добавить какие-либо другие «особые случаи», которым может потребоваться дополнительная обработка? – engineersmnky
Да, я добрался так далеко. Причина, по которой я прошу, заключается в том, что я понял, что неправильно обрабатывает «Миниатюрный шнауцер» ... – Carpela
Другим специальным случаем были бы исключения. то есть дополнительный массив исключений, который, если они присутствуют, будет упускать совпадение, – Carpela