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系统通 ...
随机推荐
- pandas一些基本操作(DataFram和Series)_2
import numpy as nparr1 = np.arange(32).reshape(8,4)print(arr1)arr1 = arr1.reshape(-1);print(arr1)arr ...
- 跟我一起学习webpack(一)
跟我一起打包我们的第一个应用 第一步安装webpack 接下来我们新建文件 //add-content.js export default function(){ document.write('he ...
- 如何使用log4j记录日志
1.下载jar包 http://logging.apache.org/log4j 2.将jar包加入项目 放在lib(没有就创建)下 对已经复制过来的jar包鼠标点击右键,选中BuildPath - ...
- Ionic Cordova Sqlite 实现保存用户名登陆
1.添加sqlite 组件 cordova plugin add https://github.com/litehelpers/Cordova-sqlite-storage.git --save 2. ...
- PHP+Ajax点击加载更多内容 -这个效果好,速度快,只能点击更多加载,不能滚动自动加载
这个效果好,速度快,只能点击更多加载,不能滚动自动加载 一.HTML部分 <div id="more"> <div class="single_item ...
- Jeecms之查询实现
现有一需求如下: 按时间段查询及留言状态(已回复,未回复,已审批)来查询留言. 当时的想法是这样子的,首先要把查询的条件通过页面传递到后台.于是在后台管理中找看有没有类似的功能,费了半 ...
- WhaleCTF之web-Find me
WhaleCTF之web-Find me 前往题目 Where is the flag?这是给我提示吗? 没思路,看看源码,说不定有惊喜 哇,在这里啊,得到flag~ flag:{This_is_s0 ...
- Maven入门指南:仓库
1 . 仓库简介 没有 Maven 时,项目用到的 .jar 文件通常需要拷贝到 /lib 目录,项目多了,拷贝的文件副本就多了,占用磁盘空间,且难于管理.Maven 使用一个称之为仓库的目录,根据构 ...
- 2019-7-9-Roslyn-如何在-Target-引用-xaml-防止文件没有编译
title author date CreateTime categories Roslyn 如何在 Target 引用 xaml 防止文件没有编译 lindexi 2019-07-09 17:16: ...
- TZOJ 2478 How many 0's?(数位DP)
描述 A Benedict monk No.16 writes down the decimal representations of all natural numbers between and ...