C++通配符
#include<iostream>
using namespace std;
bool PathernMatch(char *pat, char *str)
{
char *s = NULL;
char *p = NULL;
bool star = false;
bool bBreak = false;
do
{
bBreak = false;
for (s = str, p = pat; *s; ++s, ++p)
{
switch (*p)
{
case '?':
break;
case '*':
star = true; //出现*匹配符
str = s;
pat = p;
if (!*++pat)
return true;
bBreak = true; //退出循环
break;
default:
if (*s != *p)
{
if (!star)
return false;
str++;
bBreak = true;
}
break;
}
if (bBreak) //退出循环 重新开始循环
break;
}
if (bBreak == false)
{
if (*p == '*')
++p;
return (!*p);
}
} while (true);
}
int main()
{
char a[100] = "\\Device\\*\\Content.IE5\\index.dat";
char c[100] = "\\Device\\*\\Content.IE5\\*\\index.dat";
char b[100] = "\\Device\\Harddiskvolume\\Content.IE5\\Femporary Internet Files\\Content.IE5\\index.dat";
char d[100] = "\\*\\Content.IE5\\index.dat";
char e[100] = "\*层图层\*顶";
char f[100] = "一层图层";
char g[100] = "二层图层";
char h[100] = "二三层图层";
char i[100] = "二搜索三层图层顶顶顶";
cout << PathernMatch(e, f) << endl;
cout << PathernMatch(e, g) << endl;
cout << PathernMatch(e, h) << endl;
cout << PathernMatch(e, i) << endl;
return 0;
}
C++通配符的更多相关文章
- jQuery选择器中,通配符[id^='code']input[id$='code'][id*='code']
1.选择器 (1)通配符: $("input[id^='code']");//id属性以code开始的所有input标签 $("input[id$='code']&qu ...
- 读书笔记--SQL必知必会06--用通配符进行过滤
6.1 LIKE操作符 通配符(wildcard),用来匹配某些值的的特殊字符. 在搜索子句中必须通过LIKE操作符使用通配符. 通配符搜索只能用于文本字段(字符串),非文本数据类型字段不能使用通配符 ...
- 配置IIS的通配符应用程序映射
使用IIS 6架设网站,如果要使用伪静态的功能,可能需要设置“通配符应用程序映射(执行顺序)”. 在Windows Server 2012 r2 的IIS 8中,对应的是添加设置“通配符脚本映射”,参 ...
- jQuery的选择器中的通配符[id^='code'] 等示例及说明
1.选择器 (1)通配符: $("input[id^='code']");//id属性以code开始的所有input标签 $("input[id$='code']&quo ...
- SpringMVC(六) RequestMapping 路径中ant风格的通配符
SpringMVC支持路径中包含ant风格的通配符,常用的几种通配符及意义如下: ? 任意一个字符 * 任意多个字符 ** 匹配多层路径 测试控制器代码: package com.tiekui.spr ...
- bzoj 3507: [Cqoi2014]通配符匹配
Description 几乎所有操作系统的命令行界面(CLI)中都支持文件名的通配符匹配以方便用户.最常见的通配符有两个,一个是星号(“”’),可以匹配0个及以上的任意字符:另一个是问号(“?”),可 ...
- jQuery的选择器中的通配符
(1)通配符: $("input[id^='code']");//id属性以code开始的所有input标签 $("input[id$='code']");// ...
- Linux Shell 通配符、元字符、转义符【转帖】
作者:程默 说到shell通配符(wildcard),大家在使用时候会经常用到.下面是一个实例: 1 1 2 3 4 [chengmo@localhost ~/shell]$ ls a.txt ...
- 一劳永逸:域名支持通配符,ASP.NET Core中配置CORS更轻松
ASP.NET Core 内置了对 CORS 的支持,使用很简单,只需先在 Startup 的 ConfigureServices() 中添加 CORS 策略: public void Configu ...
- linux中的通配符与正则表达式
在linux中,有通配符及正则表达式,那么什么是通配符和正则表达式,什么时候用? 通配符 它是由shell解析,并且一般用于匹配文件名,实际上就是shell解释器去解析的特殊符号,linux系统通 ...
随机推荐
- filterBuilders 构建过滤器query
FilterBuilders构建过滤器Query package com.elasticsearch; import org.elasticsearch.action.ActionListener; ...
- 前缀数组O(n^3)做法
前缀数组O(n^3)做法 s.substr()的应用非常方便 令string s = "; ); //只有一个数字5表示从下标为5开始一直到结尾:sub1 = "56789&quo ...
- css-文本两行或多行文本溢出显示省略号(转)
转自:http://www.daqianduan.com/6179.html 感谢作者 1.单行文本的溢出显示省略号 overflow: hidden; text-overflow:ellipsis ...
- 编码格式简介(ANSI、GBK、GB2312、UTF-8、UTF-16、GB18030和 UNICODE)
很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物,他们把这称为”字节”.再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态 ...
- Java基础程序与面向对象
首先,我们需要了解和知道一些Java的基本概念: 程序编译过程:.java文件会通过编译器--被编译成一个. class字节码文件---再由虚拟机运行.class文件解释运行Java程序. 编码规范: ...
- Spring Cloud中Eureka开启密码认证
转载自 https://blog.csdn.net/u011499747/article/details/77410997 Eureka服务端配置 添加spring-boot-starter-secu ...
- git放弃本地所有未提交的修改
1.未添加至暂存区的 git checkout . 2.已添加至暂存区的 git reset HEAD . git checkout .
- JasperReports报表区段14
我们将在本章开始,一个简单的报表模板的结构看.依样画葫芦JasperReports的结构报表模板归类到多个区段.部分是有规定的高度,并且可以包含像直线,矩形,图像或文本字段对象报表的部分. 通过提供的 ...
- xshell下载免费版
正在使用的xshell 5不能使用,提示xshell 5评估期已过,重新安装还是不行.其实xshell 5有免费版的,即Home & school 版本.卸载原程序,下载安装免费版本的xshe ...
- Hadoop IO 特性详解(2)【文件校验】
(本文引用了microheart,ggjucheng的一些资料,在此感谢.charles觉得知识无价,开源共享无价) 这一次我们接着分析文件IO校验的相关代码,看看最底层是如何实现这种大数据集的文件校 ...