【C++】利用正则表达式快速分析时间
利用正则表达式快速分析字符串中的年月日,时分秒
- ()括号是分组,意思是这组数据我要提取出来。
- []括号是限制内容,[0-9]就是数字,还可以是[a-z][A-Z]。
- {}括号是显示字符个数,4就是4个,1,2就是1个或者2个
#include <regex>
int main()
{
std::string input = "2012-12-11 11:23:12";
// 按照4位年,1~2位月日时分秒
std::regex rex("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})");
std::smatch m;
if (std::regex_search(input, m, rex))
{
// 找到一个结果
if (m.size() != 0)
{
std::cout << m.str() << std::endl;
std::cout << m.str(1) << std::endl;
std::cout << m.str(2) << std::endl;
std::cout << m.str(3) << std::endl;
std::cout << m.str(4) << std::endl;
std::cout << m.str(5) << std::endl;
std::cout << m.str(6) << std::endl;
}
}
}
代码执行效果:

|
原创内容,转发请注明出处。 博客园:https://www.cnblogs.com/gikoo 作者:Giraffe & Kangaroo |
|---|
浙公网安备 33010602011771号