glob模式_glob生化

glob模式_glob生化在学习gulp的过程中,gulp使用了被称作为glob的文件匹配模式。接下来我们认识下什么是glob模式。在计算机编程中,特别是类Unix环境,glob模式通过通配符来匹配文件名。例如:Unix命

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

在学习gulp的过程中,gulp使用了被称作为glob的文件匹配模式。

接下来我们认识下什么是glob模式。

在计算机编程中,特别是类Unix环境,glob模式通过通配符来匹配文件名。例如:Unix命令,将所有以扩展名为.txt的文件从当前目录拷贝到textfiles目录。

这里【*】是一个匹配任意数量字符基本通配符,*.txt就表示一个glob模式。另一个通用的通配符是【?】,它表示任意一个字符。

最常用的通配符是 *,?,[…]:

通配符 描述 例子 匹配 不匹配
* 匹配任意数量的字符包括空字符 Law* Law, Laws, or Lawyer  
*Law* Law, GrokLaw, or Lawyer.  
? 匹配任意一个字符 ?at Cat, cat, Bat or bat at
[abc] 匹配任意一个包含的字符 [CB]at Cat or Bat cat or bat
[a-z] 匹配任意一个给定范围的字符 Letter[0-9] Letter0, Letter1 etc. Letters or Letter

注意,在所有以上例子中路径分隔符(unix的/,windows的\)都不会被匹配。

在Linux和POSIX系统中[…]有以下两个扩展:

通配符 描述 例子 匹配 不匹配
[!abc] 不匹配任意一个包含的字符 [!C]at Bat, bat, or cat Cat
[!a-z] 不匹配任意一个给定范围的字符 Letter[!3-5] Letter1, Letter2 etc. Letter3, Letter4 or Letter5

与正则的比较:

Glob的通配符 等价正则的表达式
? .
* .*

Glob尝试匹配整个字符串(例如,S*.DOC将匹配S.DOC和SA.DOC,但不匹配POST.DOC或SURREY.DOCKS),正则只匹配子串除非使用^和$。所以S*.DOC的等价正则是^S.*\.DOC$。

node glob对常用通配符又做了一些扩展:

通配符 描述 例子 匹配 不匹配
** 匹配任意数量的字符包括空字符(包括路径分隔符) **/*.js /a/b/c.js  
!(pattern|pattern) 匹配除了()内以外的pattern !(abc|bcd) aaa,bbb abc.bcd
?(pattern|pattern) 匹配至多一个()内的pattern ?(abc|bcd) abc bbb
+(pattern|pattern) 匹配至少一个()内的pattern +(abc|bcd) abc bbb
*(pattern|pattern) 匹配任意个()内的pattern *(abc|bcd) abc bbb
@(pattern|pattern) 精确匹配()内的其中一个pattern @(abc|bcd) abc abd

 

原创文章,转载请注明: 转载自xdlysk的博客

本文链接地址: glob模式

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168168.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • potplayer快捷键

    potplayer快捷键potplayer播放器用起来感觉不错,搜集快捷键备用快捷键指令——————————————————–“播放->跳略播放->跳略播放开|关’播放->跳略播放->跳略播放设置…,字幕->字幕同步(帧率)->滞后0.5秒Alt+,…

    2022年5月11日
  • @RequestBody 和 @RequestParam可以同时使用

    @RequestBody 和 @RequestParam可以同时使用@RequestParam和@RequestBody这两个注解是可以同时使用的。网上有很多博客说@Requestparam和@RequestBody不能同时使用,这是错误的。根据HTTP协议,并没有说post请求不能带URL参数,经验证往一个带有参数的URL发送post请求也是可以成功的。自己个人实际验证结果:packagecom.example.model;import…

    2022年6月16日
  • tortoiseSVN汉化(简单飞机有汉化版吗)

    前言我们在进行项目的合作开发的时候一定无法离开一个公共平台,提供大家做项目的一个平台,目前使用较多的是SVN,它是一个开放源代码的版本控制系统。但是大家一定有遇到这样的问题,就是全英文界面(英语好的可以忽略),这个或多或少的让我们的工作效率降低了很多,特别是针对刚接触的小伙伴更是如此,本来就不熟悉,还全英文。下面我就来给大家一起来解决如何将全英文的SVN转化成中文版的SVN。处理前使用…

    2022年4月13日
  • cmd中javac和java使用及注意事项

    cmd中javac和java使用及注意事项一、简述:cmd中,执行java命令与javac命令的区别:javac:是编译命令,将java源文件编译成.class字节码文件。例如:javachello.java将生成hello.class文件。 java:是运行字节码文件;由java虚拟机对字节码进行解释和运行。例如:javahello 二、详述:下面我们来写个java文件试试。1、打开记事本…

    2022年5月28日
  • 今天的学习[通俗易懂]

    今天的学习[通俗易懂]今天的学习

    2022年4月21日
  • [gdc15]<暗黑破坏神3>中的合作模式设计

    [gdc15]<暗黑破坏神3>中的合作模式设计本文中,kevin老师分享暗黑设计团队从游戏的早期一直到现在夺魂之镰资料片,一路过来的探索,纠结和沉淀。最后能逐渐把设计做的更好(有的地方大幅度的简化,不纠结,有些地方则有所增强),kevin老师建立在对于D3本质的认知上,产生了一系列的哲学和原则。

    2022年6月2日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号