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

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

‘?’匹配任意单个字符,‘*’匹配任意字符序列(包括空字符序列)。如果匹配整个串返回true。

例:

isMatch("aa","a") → falseisMatch("aa","aa") → trueisMatch("aaa","aa") → falseisMatch("aa", "*") → trueisMatch("aa", "a*") → trueisMatch("ab", "?*") → trueisMatch("aab", "c*a*b") → false
// Recursion version.
bool isMatch(const char *s, const char *p)
{
if (s == NULL || p == NULL) return false;
if (*p == '\0') return *s == '\0';
 
if (*p == '*')
{
while (*p == '*') ++p;
 
while (*s != '\0')
{
if (isMatch(s, p)) return true;
++s;
}
 
return isMatch(s, p);
}
else if ((*s != '\0' && *p == '?') || *p == *s)
{
return isMatch(s + 1, p + 1);
}
 
return false;
}

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

你可能感兴趣的文章
吐槽身边互联网那些事儿!
查看>>
搭建自己的OpenWrt开发环境
查看>>
Redis系列一之数据结构
查看>>
qt4升级到qt5的一些问题
查看>>
Working with SQL Server LocalDB
查看>>
Redis 配置
查看>>
■ apache隐藏、混淆php后缀名的几种方法
查看>>
python基础之元组、文件操作、编码、函数、变量
查看>>
NOIP1999邮票面值设计[搜索|DP]
查看>>
gnuplot使用1
查看>>
<转>SQL语句大全
查看>>
[Javascript] Either Functor
查看>>
搭建一个分布式MongoDB鉴权集群
查看>>
Jquery 对象集合的迭代扩展forEach
查看>>
看懂理解 keyboard中 , navigation的设置: 切换工作区和移动窗口到不同的工作区.
查看>>
mysqldump和xtrabackup备份原理实现说明
查看>>
[Angular2 Form] Create and Submit an Angular 2 Form using ngForm
查看>>
Atitit.数据检索与网络爬虫与数据采集的原理概论
查看>>
POJ3494Largest Submatrix of All 1’s[单调栈]
查看>>
ofstream的使用方法
查看>>