匹配错误
程序如下:
regex H1("\\sH1(\\d{15})(\\d{4}-\\d\\d-\\d\\d)(\\d{4})\\s*((\\d+,)*\\d*\\.+\\d*)\\s*([^\\s]*)\\s*(\\d{8})\\s*");
if(regex_match(" H15269526990066162004-07-310407 4.86 市财政地税局 00000001 ",what,H1))
{
AnsiString card((what[1].str()).c_str());
AnsiString txdz((what[6].str()).c_str());
AnsiString dzrq((what[2].str()).c_str());
AnsiString dzzq((what[3].str()).c_str());
AnsiString p_balance((what[4].str()).c_str());
}
运行结果
card="526952699006616"
txdz="市财政地税局"
dzrq=""
dzzq="市财"
p_balance=4.86
为什么 dzrq是空的而dzzq匹配了 “市财”
我的本意是dzrq应该为2004-07-31
dzzq="0407"