1

我在网站上记录了用户的操作,如下所示:

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

Everyting 工作正常,但是在尝试对超过 50 个项目的数据执行查询时出现以下错误

运行查询时出错:为 REGEXP_COUNT 提供的正则表达式产生了过多的匹配。重写表达式。代码:8002 上下文:匹配正则表达式的复杂度超出了预定义的范围。尝试重构正则表达式以使状态机做出的每个选择都明确无误。

我认为问题在于我的正则表达式中的回溯,例如'A.*B.*C'.

你知道改变这个正则表达式以避免这个问题吗?

4

0 回答 0