文字列の途中から 2 文字を抽出しようとしています。文字列から、['data_EL27.dat', 'data.BV256.dat', 'data_BV257.dat']
出力したいと思います['EL', 'BV', 'BV']
。
これが私が正規表現を使用しているものです。これは、このような単純なタスクには非常に扱いにくいようです。これを行うためのより良い方法が欠けているように感じます。
import re
str = 'data_EL27.dat'
m = re.search(r'(?:data[._])(\w{2})', str)
m.group(1) # 'EL'
この場合、取ることstr[5:7]
ができますが、プレフィックスの長さが同じままであることに依存したくありません。