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

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

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
bool isMatch(char* s, char* p) {    int i = 0,j = 0;    for(;s[i] != '\0' && p[j] != '\0';i++,j++){        if(p[j] == '*'){            if(p[j-1] == '.'){                if(p[j+1] == '\0') return 1;                while(s[i] != '\0' && s[i] != p[j+1]) i++;                if(s[i] = '\0') return 0;                j++;            }            else{                while(s[i] == p[j-1]) i++;                while(p[j+1] == s[i-1]) j++;                i--;            }        }        else if(p[i] != '.' && s[i] != p[j]){            if(p[j+1] != '*') return 0;            j++,i--;        }    }    if(s[j] != '\0') return 0;    if(p[j] != '\0'){        while(p[j] == )    }    return 1;}

转载于:https://www.cnblogs.com/JingwangLi/p/10202781.html

你可能感兴趣的文章
UML设计一个电影票务销售系统(四)
查看>>
如何给VEEAM 7 分配角色权限
查看>>
AlphaGo Zero用它来调参?【高斯过程】到底有何过人之处?
查看>>
linux 高级字符设备驱动 ioctl操作介绍 例程分析实现【转】
查看>>
埃森哲:84%的医疗机构高管认为AI正在改变他们的工作方式
查看>>
通过一个模拟程序让你明白ASP.NET MVC是如何运行的
查看>>
【高质量代码】如何写出更高质量的C/C++代码(2):函数设计
查看>>
三大硬盘厂密谋超低价HDD 目标降价5成
查看>>
绿盟科技互联网安全威胁周报2016.28 思科操作系统0Day漏洞CVE-2016-6415
查看>>
Spark点燃近实时大数据之火
查看>>
东芝明年将降低NAND闪存30%产量
查看>>
浅谈自服务的大数据治理在企业数字化转型中的妙用
查看>>
数字企业的三个信息安全新工作
查看>>
《Web安全之机器学习入门》一 2.3 本章小结
查看>>
Rowhammer RAM 攻击已延伸至闪存
查看>>
风口上的物联网:67%概念股中报业绩飘红
查看>>
戴尔终止DSSD D5产品 技术分散用于其他系统
查看>>
英特尔段建钢:Spark将成为下一代大数据的标准
查看>>
戴尔推出针对数据密集型工作负载存储方案
查看>>
推荐几个开源云计算平台
查看>>