字符串模式匹配问题?
如下两个变量
const char *strDateTime = "2003-11-03 16:43:37";
const char *strFormat = "YYYY-MM-DD HH24:MI:SS";
其中strFormat指定时间格式,YYYY还可以是YY(如果是YY,则时间是03-11-...),HH24还可以是HH12或HH(HH与HH24一样效果),现在要求设计一个具体算法判断strDateTime与strFormat是否完全匹配(越严格越好),并将strDateTime中的年份,月份,天,小时,分,秒提取出来,放在整形的全局变量中。
问题点数:0、回复次数:3Top
1 楼bindianxigua(土豆)回复于 2003-11-03 17:38:34 得分 0
用栈不就OK?
读到非字符或者数字时,将之前所读到的字符串入栈即可.Top
2 楼dengsf(drklnk@Radical_Dreamer)回复于 2003-11-03 20:14:21 得分 0
是否两个参数都是由用户输入?
感觉就是对输入的容错处理,注重细心,没太多艰深的技巧。
当然如果strFormat是程序内定的,分析起来就简单多了;
如果两个都是用户输入的,就麻烦多了,首先就要判断其输入的strFormat的合法性。(可能想多了)Top
3 楼Cybergate()回复于 2003-11-03 23:47:25 得分 0
有点类似正则表达式的匹配,你可以在文档中心搜索以下starfish搜集的正则表达式匹配算法,用的是动态规划。Top




