-1

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

4

1 回答 1

0

难道不应该只是

m=re.search("data.(..)",str)

?

于 2013-10-29T05:56:06.720 回答