Возможная проблема с возвратом регулярного выражения в Redash SQL - PullRequest
1 голос
/ 15 марта 2019

Я зарегистрировал действия пользователя на сайте, как следующие:

00:00 firstpage.textbox.hover
00:01 firstpage.textbox.push
00:02 firstpage.textbox.type
00:03 firstpage.textbox.submit

Я пытаюсь выяснить, существует ли конкретная схема последовательных действий, например,

firstpage.textbox.type firstpage.textbox.submit

, которые могут иметь любые другие действия до, между или после них.

Что я сделал до сих пор, так это то, что я связал действия в одну строку вроде:

firstpage.firstblock.open firstpage.textbox.push firstpage.textbox.type firstpage.textbox.submit

и затем применил следующее регулярное выражение, чтобы найти, был ли шаблон, который меня интересует

select regexp_count(concatenated actions, '.*firstpage.textbox.type.*firstpage.textbox.submit.*') from t

Все работает нормально, однако я получаю следующую ошибку при попытке выполнить мой запрос данных, содержащий более 50 элементов

Ошибка при выполнении запроса: регулярное выражение, предоставленное для REGEXP_COUNT, привело к чрезмерным совпадениям. Перепишите выражение. код: 8002 контекст: сложность соответствия регулярному выражению Превышены заранее определенные границы. Попробуйте рефакторинг регулярного выражения в сделайте каждый выбор, сделанный конечным автоматом, однозначным.

Я думаю, что проблема в том, что в моем регулярном выражении типа 'A.*B.*C' произошел возврат.

Знаете ли вы, чтобы изменить это регулярное выражение, чтобы избежать этой проблемы?

...