请看我的正则表达式模式代码:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import re
print 'Start'
str1 = 'abcdefgasdsdfswossdfasdaef'
m = re.match(r"([A-Za-z\-\s\:\.]+)+(\d+)\w+", str1) # Want to match something like 'Moto 360x'
print m # None is expected.
print 'Done'
花了49秒完成,图案有问题吗?
See 失控的正则表达式:灾难性的回溯.
简而言之,如果有非常多的组合,一个子字符串可以分成正则表达式的各个部分,则正则表达式匹配器可能最终会尝试所有这些组合。
构造就像(x+)+
and x+x+
实际上保证了这种行为。
为了检测并修复有问题的结构,可以使用以下概念:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)