我正在尝试从字符串中间提取两个字符。从字符串['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]
,但我不想依赖前缀的长度保持不变。