2 fengxiaoyuana fengxiaoyuana 于 2015.05.27 15:50 提问

vc regex 正则表达匹配日期

vc使用regex实现一个与“2015/05/12”这样日期格式匹配的功能,用最简单的正则式"\d{4}\/\d{1,2}\/\d{1,2}"都匹配不通过。

然后只匹配”2015“,用”20\d\d"不行,用“20\d*"却可以 求破

2个回答

albertbush
albertbush   2015.05.27 15:57

"20\d\d"有没有打双斜杠?

fengxiaoyuana
fengxiaoyuana 回复不是阿尔伯特: 谢谢 我用vc6.0 用regcopm和regexec函数实现的 关键的不是怎么编 而是为什么编好会是这个结果
2 年多之前 回复
albertbush
albertbush 回复fengxiaoyuana: http://jingyan.baidu.com/article/b87fe19eb063f152183568c5.html
2 年多之前 回复
fengxiaoyuana
fengxiaoyuana 并不需要\\ 因为20\d*是可以匹配的
2 年多之前 回复
oyljerry
oyljerry   Ds   Rxr 2015.05.27 17:03

语法上看没有问题,估计还是字符串转义,以及编译器对字符串处理的原因

oyljerry
oyljerry 回复fengxiaoyuana: 字符集是一个可能性,编码格式变了
2 年多之前 回复
fengxiaoyuana
fengxiaoyuana 2015/05/12是从TXT中读出一行 取前10个字符给char*,char* buf=(LPTSTR)(LPCTSTR)SourseStr.GetBufferSetLength(10),是不是跟字符串2015/05/12结束符有关系,还跟函数regcomp、regexec第三个参数设置有关?
2 年多之前 回复
fengxiaoyuana
fengxiaoyuana 解决问题的方向是什么呢 真的无法理解这个问题
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!