У меня очень интересная задача, которую я не знаю, как ее выполнить.
Мне нужно хранить много регулярных выражений в таблице базы данных, и мне нужно найти, какое из них соответствует заданной строке.
Например:
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-запрос для выполнения этой задачи?
Буду признателен за любой ответ. Спасибо.