3

の形式の文字列で満たされたかなり長いtxtファイルがあります{letter}{number}{letter}。たとえば、私のファイルの最初の数行は次のとおりです。

A123E
G234W
R3L
H4562T

regex各行をアルファと数値で区切る正しいパターンを見つけるのに苦労しています。

たとえば、最初の行で、結果を含む配列が必要です。

print first_line[0] // A
print first_line[1] // 123
ptin first_line[2] // E

行く道のようregexですが、私はまだregex初心者です。誰かがこれを行う方法について正しい方向に私を向けるのを手伝ってもらえますか?

次に、各行を繰り返し処理し、必要に応じて情報を使用する予定です。

4

1 に答える 1

10

分割\d+

import re
re.split(r'(\d+)', line)

\dは0から9までの数字に一致する文字クラスであり、少なくとも1つに一致する必要があります。の周りにキャプチャグループを配置することにより\d+re.split()出力に一致が含まれます

キャプチャ括弧がパターンで使用されている場合、パターン内のすべてのグループのテキストも結果のリストの一部として返されます。

デモ:

>>> import re
>>> re.split(r'(\d+)', 'A123E')
['A', '123', 'E']
于 2013-02-08T15:41:14.030 に答える