一 介绍

glob patterns是一种匹配模式,运用通配符(wildcard characters)来匹配一个文件列表(sets of filenames ),详细的介绍可以查看wiki:

https://en.wikipedia.org/wiki/Glob_(programming)

二 匹配规则

1. 通用规则:

* : 匹配0个或多个任意字符

? : 匹配任意单个字符

[abc] :匹配括号中的单个字符

[a-z]: 匹配范围中的单个字符

2. Linux和POSIX系统拓展的规则:

[!abc]: 匹配列表除外的单个字符

[!a-z]: 匹配范围除外的单个字符

3. shell拓展

有一些shell(如c-shell,bash)允许支持额外的语法:括号拓展(alternation or brace expansion)

$ echo a{p,c,d,b}e
ape ace ade abe
$ echo {a,b,c}{d,e,f}
ad ae af bd be bf cd ce cf
可以查看glob的man文档:http://man7.org/linux/man-pages/man7/glob.7.html

三 和正则表达式的区别

1.元字符代表的意思不同,如glob中*指匹配零个或多个字符,而*在正则表达式中指前面的字符出现零次或多次;

2.regular expressions 支持更多复杂的匹配模式;

3. glob匹配的是整个字符,而正则表达式匹配的是子字符串,如:

在glob中S*.DOC匹配S.DOC和SA.DOC,但是不匹配POST.DOC或SURREY.DOCKS,但是在正则表达式中匹配的是子字符串,除非用^ 和$ 进行限定^S.*\.DOC$

4. glob用于文件名的匹配,所以通配符不能匹配路径分隔符/,  另外如果文件名是以.开始,则必须准确匹配;

glob patterns相关推荐

  1. Glob Patterns匹配模式使用

    前段时间在用workbox时,在做precache时,匹配模式基于的是Glob Pattern模式,于是就看了下相关文档. 下面翻译一下node-glob的使用,原文:https://github.c ...

  2. electron调用python_在Electron app中运行python脚本

    asar Whether to package the application's source code into an archive, using Electron's archive form ...

  3. Angular应用中tsconfig.json文件配置说明及配置全局路径映射

    tsconfig.json文件配置说明 1. tsconfig.json文件中的选项配置 2. 配置全局路径映射 1. tsconfig.json文件中的选项配置 TypeScript编译器配置文件的 ...

  4. selenium资料

    来源 http://release.seleniumhq.org/selenium-remote-control/0.9.2/doc/dotnet/Selenium.ISelenium.MouseMo ...

  5. svn上crlf怎么设置_svn如何设置svn:ignore

    展开全部 svn help 中有 propset propget propdel proplist propedit五个关于prop,也就是svn属性的设置. 在当前的svn工作拷3231313335 ...

  6. Karma和Jasmine自动化单元测试——本质上还是在要开一个浏览器来做测试

    1. Karma的介绍 Karma是Testacular的新名字,在2012年google开源了Testacular,2013年Testacular改名为Karma.Karma是一个让人感到非常神秘的 ...

  7. Karma和Jasmine自动化单元测试

    2019独角兽企业重金招聘Python工程师标准>>> 转自http://blog.fens.me/nodejs-karma-jasmine/ 前言 在Java领域,Apache, ...

  8. 英语笔记3(git)

    备注 一: Staging Modified Files Let's change a file that was already tracked. (tracked 表示该文件已经被git管理过,再 ...

  9. Hadoop的分布式文件系统

    HDFS默认情况下,块的大小是64MB.与磁盘相比它的块是巨大的,数据转换的时间就比需找数据的开始块的时间大的多.因此这转换一个大文件的操作取决于磁盘的速度. Namenodes 和Datanodes ...

  10. 使用 Karma、Mocha、Chai 搭建支持 ES6 的测试环境

    写作日期 2016-09-02 前端开发很多是界面开发,但我们可以将相对独立的逻辑和功能从整体业务逻辑中独立出来,这样就可以对它们做单元测试.使用 Karma 可以比较方便地搭建出测试环境. 安装 K ...

最新文章

  1. 1053 Path of Equal Weight
  2. 【思维导图】redis
  3. 用java线程绘制图案_关于多线程:使用线程在java中绘制面板
  4. 智能优化算法之蚁群算法(1)
  5. 虚拟机安装ROS的IMG镜像(从U盘启动)
  6. python tcp协议加代理_python实现简单的TCP代理服务器
  7. 在SAP中如何创建权限和权限的设置
  8. javaScript如何监听浏览器关闭事件
  9. 6/12 Sprint2 看板和燃尽图
  10. 【BZOJ】1649: [Usaco2006 Dec]Cow Roller Coaster(dp)
  11. HTML+CSS+JS面试题(附带答案)
  12. 我的测试生活感悟2 - Art Of Unit Testing
  13. IP路由故障关于BGP的疑问解答
  14. 实验四android开发基础
  15. 一个老博士的经验顺口溜
  16. 远端仓库初始化成裸仓库 git init --bare
  17. 扩展NameValueCollection
  18. 吉他音阶训练入门教程——中集(运用方法)
  19. 用html任选一首诗自动排版,利用 html2canvas 做个简单的诗词卡片生成器
  20. Java+MySQL实现网络爬虫程序

热门文章

  1. FFmpeg 源码导读 —— H264码流格式分析
  2. 二叉树给我的人生感悟
  3. 台式计算机设置热点,台式机怎么设置无线热点
  4. mysqldump: Got error: 1168 differently defined non-MyISAM LOCK TABLES
  5. 台式计算机文件打不开怎么回事,电脑文档打不开怎么办
  6. 学生计算机游戏代码,给计算机学院的学幼们贴一些游戏代码
  7. 密码学原语如何应用?解析单向哈希的妙用|第9论
  8. layui二级下拉菜单
  9. 网络工程师考试经验总结
  10. 中国城市乞丐的五大经典表情