我使用的字典文件和正則表達式來改變一些字的劇本,但現在遇到這個錯誤陷入插件<類的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