我的数据如下:
ABC_10_2007_06_14.txt
ABC_11_2008_07_14.txt
我想提取2007年和2008年。那是什么正则表达式?我在下面试过,但它没有用。
.*_.*_(.*)_.*_.*\..*
答案 0 :(得分:4)
您需要使用?
运算符:
_.*?_(.*?)_.*?
示例:
>>> import re
>>> s = 'ABC_10_2007_06_14.txt'
>>> re.findall(r'_.*?_(.*?)_.*?', s)[0]
'2007'
答案 1 :(得分:1)
import re
a = "ABC_10_2007_06_14.txt ABC_11_2008_07_14.txt"
obj = re.findall(r"_.*?_(\d+)_.*?_.*?",a)
print obj
这将在列表类型对象2007
中提取2008
以及obj
。