【发布时间】:2015-02-11 10:23:48
【问题描述】:
请看我的正则表达式模式代码:
#!/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秒,图案有问题吗?
【问题讨论】:
-
([A-Za-z\-\s\:\.]+)+-->[A-Za-z\-\s\:\.]+ -
因为您的正则表达式可以通过无数种不同的方式匹配字符串,并且引擎正在回溯并尝试每种变体。
-
更多关于正则表达式回溯的原因和原因以及当你不匹配时它会变得多么灾难性的更多信息:regular-expressions.info/catastrophic.html