【发布时间】:2021-03-31 05:38:35
【问题描述】:
对于一个小列表,我没有看到这个错误。当列表大于 10k 时弹出问题。 tcl 中正则表达式的数量有限制吗?
puts "#LEVELSHIFTER_TEMPLATES_LIMITSFILE:$perc_limit(levelshifter_templates)"
puts "#length of templates is :[llength $perc_limit(levelshifter_templates)]"
if { [regexp [join $perc_limit(levelshifter_templates) |] $temp] }
#LEVELSHIFTER_TEMPLATES_LIMITSFILE:HDPELT06_LVLDBUF_CAQDP_1 HDPELT06_LVLDBUF_CAQDPNRBY2_1 HDPELT06_LVLDBUF_CAQDP_1....
#length of templates is :13520
ERROR: couldn't compile regular expression pattern: regular expression is too complex
【问题讨论】:
-
我尝试了一个较小的列表,如果列表最多包含 1950 个元素,则看不到错误。我认为使用这个命令是有上限的。
-
有些东西让 RE 引擎抱怨构建它所需的堆栈深度。哪个……是我以前在生产中从未见过的!但是我从未见过大小必须在 100kB 左右的 RE。呸!