在Python 3 REGEX中,确定/控制最大迭代次数吗?

问题描述

对于Linux Mint 18.3中的Python 3.5, re 版本2.2.1。

自动超时之前,如何确定和/或控制Python 3.5 REGEX将执行的最大迭代次数

我研究了这两个相关的问题:

第二个答案在Python代码中“包装”了一个操作,不一定是REGEX操作,以控制处理时间(?)


在我问这个问题之前,我用regex101.com处理了杰弗里·弗里德尔(Jeffery Friedl)的奥莱利(O'Reilly)的《掌握正则表达式》,第3版,第147页中给出的以下测试REGEX:

测试字符串: =XX======================

正则表达式: X(.+)+X

  1. 经过750,000次迭代后, regex101.com 回复catastrophic backtracking。这是该工具的非POSIX NFA引擎的预期结果。

  2. 然后我使用Python 3.5 / re 2.2.1执行相同的实验。 Python 3.5的非POSIX NFA引擎运行了大约3秒钟,然后退出,没有提供任何有关原因的信息。

SO:

  1. 如何确定Python 3.5的 re 最大迭代次数或最大超时值是什么?

  2. 一个人如何获取Python 3.5的 re 库,以提供有关其正在执行或已完成的操作的信息?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...