我已经在网站上记录了用户的操作,如下所示:
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'
)中的回溯。
您知道要更改此正则表达式以避免这种问题吗?