请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字
来源:互联网 发布:数码绘画软件 编辑:程序博客网 时间:2024/06/03 17:56
本题源自剑指offer
-----------------------------------------------------------------------------------
如果模式串遇到*字符则有两种状态,第一匹配字符,则字符串后移一位,模式串不变,第二,模式串后移俩位和字符串后移一位,第三,忽略星号。
bool match(char* str, char* pattern) { if(str==NULL || pattern==NULL) return false; if(*str=='\0'&&*pattern=='\0') return true; if(*str!='\0'&& *pattern=='\0') return false; if(*(pattern+1)=='*'){ if((*str==*pattern) || (*pattern=='.'&&*str!='\0')){ // 1 匹配一个 2 匹配多个 3 忽略星号 return match(str+1,pattern+2) || match(str+1,pattern) || match(str,pattern+2); }else{ //忽略星号 return match(str,pattern+2); } } if((*str==*pattern)||(*str!='\0'&&*pattern=='.')) return match(str+1,pattern+1); return false; }
阅读全文
0 0
- 请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字
- 请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字
- 请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。
- 剑指Offer :请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配
- 正则表达式 匹配任意长度的字符
- java匹配任意字符的正则表达式
- 正则匹配任意字符,包括换行符的字符串
- PHP中关于正则表达式匹配任意字符(包括换行符)的写法
- 正则匹配任意字符(常用正则表达式的书写)
- 正则表达式匹配任意字符
- 正则表达式:匹配任意字符
- 正则表达式匹配任意字符
- 正则表达式匹配任意字符
- 正则表达式匹配任意字符
- 正则表达式匹配任意字符
- 正则表达式匹配任意字符
- 实现正则表达式匹配任意字符
- 关于正则表达式匹配任意字符(包括换行符)的写法
- hdu 5974 A Simple Math Problem
- ACL 2017自然语言处理精选论文
- 大数据领域三个大的技术方向资料
- OpenCV编程->求点集映射关系实现
- Maven
- 请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字
- Qt学习使用(1)
- Java多线程编程学习chapter1
- caffe学习:数据层参数
- Traincascade Error: Bad argument (Can not get new positive sample. Themost possible reason is insuff
- (Y)小米miui系统调用系统裁剪图片功能报错 java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, r
- 对于Java第一次面试的建议
- HDU 5552 CDQ分治+NTT
- Python语言常见异常错误类型