我使用的字典文件和正则表达式来改变一些字的剧本,但现在遇到这个错误陷入插件<类的pagerprinter.plugins正则表达式的代码大小限制超过蟒蛇
异常.tts.TTS”>
正则表达式的代码大小限制超过
我dict有一些5300项长期载列:
'SE': 'South East',
'NE': 'North East',
您可以将缩写改为全部单词。平均有6 - 8个缩写被改变。
这个我使用
from abbreviations import abbreviations #mydict
pattern = re.compile(r'\b(' + '|'.join(abbreviations.keys()) + r')\b')
msg = pattern.sub(lambda x: abbreviations[x.group()], msg)
,但我也用另外4个正则表达式的其他任务,如从一些字符串删除文字和数字。
我得到的错误的原因是什么?如果我删除了我的字典,那么它有效,如果我有300个条目它的工作。
从谷歌的角度来看,大多数人都说dict大小没有限制。
我试图用一个99,000元字典重现你的错误(基于英文单词列表),但代码工作正常。一个更完整的例子会有所帮助,但是鉴于5000条目字典,这是非常棘手的。 –
如果我没有弄错,限制是在正则表达式的长度上。只需以较小的块浏览词典并为它们中的每一个替换即可。 – L3viathan
你是指长度?如同在一行代码中一样? – shaggs