У меня очень интересная задача, которую я не знаю как реализовать.
Мне нужно хранить много регулярных выражений в таблице базы данных и иметь возможность найти, какое из них соответствует заданной строке.
Например:
id | regexp
---|-------------
1 | ^hello world$
2 | ^I have [0-9] flowers&
3 | ^some other regexp$
4 | ^and another (one|regexp)$
И мне нужно найти, какое из этих выражений соответствует строке «У меня есть 5 цветов». Конечно, я могу SELECT * FROM table и перебирать выражения, соответствующие им, одно за другим в PHP, но это было бы ужасно для сервера.
Можно ли как-то проиндексировать эту таблицу или использовать специальный SQL-запрос для решения этой задачи?
Буду признателен за любой ответ. Спасибо.