glob patterns

一 介绍

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用于文件名的匹配,所以通配符不能匹配路径分隔符/,  另外如果文件名是以.开始,则必须准确匹配;


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值