0

次の正規表現の比較には時間がかかりすぎます(> 2分)。

re.search('^(\S+){2,50}/(\S+){2,50}\-trailing/$', 'test-request/this-is-crashing/')

長さの制限({2-50})を削除すると、問題が解決します。

パターンのエラーは何ですか?

env:Ubuntu i5 4GB Python 2.7.3

4

2 に答える 2

8
(\S+){2,50}

これが必要ですか?\S+1つ以上の発生を意味します。そして、あなたはそれを2-50回発生させたいですか?

なぜだめですか:

\S{2,50}
于 2012-11-21T11:49:40.923 に答える
0

もっとシンプルにしてみませんか...

re.match('([^/]+)/([^/]+)-trailing/', 'test-request/this-is-crashing/')

この場合は何も見つかりませんが...

私はあなたがこれに似ている文字列だけをキャッチしたいと思います:

'<SOME-TEXT>/<SOME-TEXT>-trailing/'

于 2012-11-21T12:00:47.810 に答える