2016-11-22 13 views
-3

String = "TIT2\x00\x00\x00\x12\x00\x00\x00Spicks And SpecksTRCK\x00\x00\x00\x02\x00\x00\x006TYER\x00\x00\x00\x05\x00\x00\x001992TCON\x00\x00\x00\x03\x00\x00\x0013TALB\x00\x00\x00\x19\x00\x00\x00Best Sellers Hits (CD 1)PRIV\x00\x00\x00\x00\x00WM/MediaClassPrimaryID\x00\xbc}\xd1#\xe3\xe2K\x86\xa1H\xa4*(D\x1ePRIV\x00\x00\x00)\x00\x00WM/MediaClassSecondaryID\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00PRIV\x00\x00\x00\x0e\x00\x00PeakValue\x00Dq\x00\x00PRIV\x00\x00\x00\x11\x00\x00AverageLevel\x00\xf0\x13\x00\x00TPE1\x00\x00\x00\t\x00\x00\x00Bee Gees\x00\x00\x00\x00\x00\x00\x00\x00"正規表現は

ID3v2のタグを解析するためにこれがID3V2.3タグであり、私はそれを次のように「タグTagInfoに」を解析する必要があります。 私はこの正規表現".+(?=[A-Z0-9]{4})"を試しました。 re.search()を使用しても動作しますが、re.findall()では動作しません。

答えて

1

あなたは2試合を取得します。この1

(T[A-Z0-9]{3})(.+?)(?=T[A-Z0-9]{3}|$) 

を試してみて最初の試合はタグである、第二試合は、二つのタグ(または最後のタグとラインの端部との間)の間のテキストです