博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Regular Expression Matching
阅读量:5828 次
发布时间:2019-06-18

本文共 1006 字,大约阅读时间需要 3 分钟。

Implement regular expression matching with support for '.' and '*'.

'.' Matches any single character.'*' Matches zero or more of the preceding element.The matching should cover the entire input string (not partial).The function prototype should be:bool isMatch(const char *s, const char *p)Some examples:isMatch("aa","a") → falseisMatch("aa","aa") → trueisMatch("aaa","aa") → falseisMatch("aa", "a*") → trueisMatch("aa", ".*") → trueisMatch("ab", ".*") → trueisMatch("aab", "c*a*b") → true 注意test:aa,a*;aaa,a*a;aaa,a*ac;
1 bool isMatch(char* s, char* p) { 2     if(*p=='\0') return *s=='\0'; 3     if(*(p+1)=='*') 4     { 5         while(*s==*p||((*p=='.')&&(*s!='\0'))) 6         { 7             if(isMatch(s,p+2)) return true; 8             s++; 9         }10         return isMatch(s,p+2); //若为false,则当s不断++至‘\0’时,无法再次与p匹配,如aa,a*,当s=='\0'时,仍需与p+2匹配,输出正确结果11     }12     else13     {14         if(*s==*p||((*p=='.')&&(*s!='\0')))15             return isMatch(s+1,p+1);16         return false;17     }18 }

 

转载地址:http://qzodx.baihongyu.com/

你可能感兴趣的文章
文件权限
查看>>
busybox里的僵尸进程为何那么多
查看>>
python debug
查看>>
java 连接数据库之一个完整的函数
查看>>
mysql脚本
查看>>
OllyDBG 入门系列教学--让你瞬间成为破解高手
查看>>
Dubbo点滴(2)之集群容错
查看>>
检测不到兼容的键盘驱动程序
查看>>
简单的分页存储过程,Json格式日期转换为一般日期
查看>>
jquery 选择器
查看>>
转://Oracle not in查不到应有的结果(NULL、IN、EXISTS详解)
查看>>
listbox用法
查看>>
冲刺第九天 1.10 THU
查看>>
一个不错的Node.js进阶学习引导
查看>>
《团队-科学计算器-项目总结》
查看>>
pythoy的configparser模块
查看>>
传值方式:ajax技术和普通传值方式
查看>>
Linux-网络连接-(VMware与CentOS)
查看>>
经典的CSS代码(转)
查看>>
Django
查看>>