0

これはすでにどこかで尋ねられたに違いないと思いますが、見つかりません!

括弧がネストされた正規表現があります(以下を参照)。行内のすべての出現を一致させてから、ピースで何かをする必要があります。ただし、正規表現から特定のグループを参照する方法がわかりません。

具体的には、これは私の正規表現です:

(([a-zA-Z][a-zA-Z0-9_\+\-\.]*\.)+\s*[a-zA-Z]{2,6})

実際には、内側のブラケットの内容を保持することは気にしません。外側のブラケットのすべての一致を取得したいだけです。

「一致」を使用すると、インスタンスが 1 つ取得され、Match オブジェクトを使用して参照できます。ただし、findall を実行すると、一致オブジェクトは返されず、リストのみが返されます。

4

1 に答える 1

0

あなたはおそらく探していますre.finditer()

import re

a = 'foo 123 blah 234 xxx 655'
for m in re.finditer(r'(\d+)', a):
  print m.group(1)
于 2013-01-12T08:41:25.760 に答える