1

Pythonを使用して、印刷し、最終的に情報とデータをファイルに書き込もうとしています。という配列にファイルを読み込みList[]、正規表現で各行を検索します。ファイル内のすべての行に対してこれを行いたいのですが、これを行うと

counter=0
while counter <= OrderNum:    
    Info=re.match('^.{0,12}',List[counter])
    Data=re.search('=....................',List[counter])
    print counter
    print 'is less than'
    print OrderNum
    print Info.group(counter)
    print Data.group(counter)
    counter+=1

最初の反復 [0] ではすべて問題ありませんが、1 回だけです。

Output
1
is less than 
4

次のエラーが表示されます

Traceback (most recent call last):
File "C:\Users\*******\workspace\Jython\regularexpressions.py", line 35, in <module>
print Info.group(counter)
IndexError: no such group
4

2 に答える 2

2

match.group(n)正規表現グループn(または n=0 の場合は一致全体) を返します。正規表現のグループは括弧内のものであり、式にグループがないため例外が発生します。一致させようとしているデータを見せてください。より良い表現のお手伝いをいたします。

于 2013-10-21T05:19:39.857 に答える