Как использовать в D7 фильтр с регулярными выражениями?
Есть ли в Bitrix D7 (например, UserTable) возможность фильтрации с регулярными выражениями? Мне нужно найти пользователей с фильтром по полю UF_FIELD (строка), и регулярным выражением типа:
^#[0-9]+#[0-9]+#23#
То есть, строка должна начинаться с последовательности решёток и любых чисел и заканчиваться определённым числом. Без регулярного выражения не обойтись. Как включить его в фильтр?
Никак. Да и не надо - на SQL это было бы безумно медленно. Выберите по фильтру %#23#, а дальше уже в цикле PHP проверьте регуляркой. Не бойтесь циклов в рантайме PHP. Не пытайтесь переложить все на плечи базы
photosho, документация говорит, что Вы можете использовать whereExpr. Но сам я не пробовал.
Если строк много, я бы к предложению Александр Маджугин ещё добавил условие LIKE "#%" и односимвольный индекс на столбец.