我正在尝试从此文件名格式中提取日期:
output_AU1001-BY.20160502.csv
我想也许我可以用re.findall()
来做但不能这样做。
答案 0 :(得分:3)
没有正则表达式的示例
<强>代码强>:
s = 'output_AU1001-BY.20160502.csv'
date = s.split(".")[1]
print date
输出:
>>> 20160502
答案 1 :(得分:2)
这是一种方式:
template<class T>
class sub
{
private:
// typedef void (pub<T>::*funPtr)(T,T); // C++98
using funPtr = void (pub<T>::*)(T,T); // C++11
std::set<funPtr> fset;
public:
void fun2( funPtr f)
{
fset.insert(f);
}
};
假设:
import re
d = 'output_AU1001-BY.20160502.csv'
d = re.sub('output_[A-Z]+[0-9]+-BY[.]([0-9]+)[.]csv$', r'\1', d)
print d
对于所有文件名都是常量output_
是可变的,但始终是ALL CAPS AU
对于所有文件名都是常量-BY.
是可变的,但始终是所有数字20160502
对于所有文件名都是常量