Python正则表达式搜索花费的时间太长

Python正则表达式搜索花费的时间太长,python,regex,Python,Regex,下面的正则表达式比较花费的时间太长>2分钟 re.search('^(\S+){2,50}/(\S+){2,50}\-trailing/$', 'test-request/this-is-crashing/') 删除长度限制{2-50},解决了这个问题 模式中的错误是什么 env:ubuntui54gbpython2.7.3 (\S+){2,50} 你确定你需要这个吗\S+表示一个或多个事件。然后你想让它出现2-50次 为什么不: \S{2,50} 为什么不让它变得更简单 re.match

下面的正则表达式比较花费的时间太长>2分钟

re.search('^(\S+){2,50}/(\S+){2,50}\-trailing/$', 'test-request/this-is-crashing/')
删除长度限制{2-50},解决了这个问题

模式中的错误是什么

env:ubuntui54gbpython2.7.3

(\S+){2,50}
你确定你需要这个吗\S+表示一个或多个事件。然后你想让它出现2-50次

为什么不:

\S{2,50}

为什么不让它变得更简单

re.match('([^/]+)/([^/]+)-trailing/', 'test-request/this-is-crashing/')
虽然在这种情况下,它找不到任何东西

我想您只想捕获与以下类似的字符串:


“/-training/”

您是否尝试将同一个正则表达式与例如perl一起使用?无论如何,你知道\S+{2,50}的意思吗?无论如何,可能是一些回溯优化问题。你是对的,这叫做