1、通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件。
2、当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。
3、 实际上用“*Not?paOd”可以对应NotpadMyNotpad【*可以代表任何文字】;NotpadNotepad【?仅代表单个文字】;NotepadNotepod【ao代表a与o里二选一】,其余以此类推。
4、通配符优先级对于使用通配符模式的各种资源,Tivoli Access Manager for Operating Systems 必须确定将应用何种通配符模式。
5、例如,假设有两种模式:/usr/local/*.log和/usr/local/user1/*.log字符串 /usr/local/user1/***.log 与这两种模式都匹配。
6、为了解决这种模棱两可的情况,应用了优先级规则。
7、模式越具体,其优先级也越高。
8、根据这种原则,/usr/local/user1/***.log 在与 /usr/local/*.log 模式相匹配之前先与 /usr/local/user1/*.log 模式相匹配。
9、由于找到一个匹配项,任何可应用于匹配此模式的对象的策略都将适用。
10、下表显示了通配符元素的优先级。
11、表中较高位置的元素优先于表中较低位置的元素。
12、表:通配符元素优先级规则优先级 元素 示例1 精确字符 a, *, \2 字符范围 [Aa], [[:digit:]]3 任意字符 ?4 重复的精确字符 a+5 重复的字符范围 [Aa]+, [[:digit:]]+6 重复的任意字符 ?+7 任意字符串 *根据资源的种类,将通过从开始到结束(或者相反方向)逐个元素比较模式来确定优先级。
13、匹配文件名称的模式是从开始比较到结束。
14、匹配主机名称的模式是从结束比较到开始。
15、除了认为相同的两种模式之外,将认为较长的模式比较短的模式更具体,除非较长的字符串是由于星号(*)而较长。
16、通配符优先级的示例表 4 显示了按优先级从最高到最低排列的文件名和主机名通配符模式。
17、表 4. 通配符模式优先级示例优先级 文件名称模式 主机名称模式1 log/0[0-9]/error2 log/0?/error3 log/0*/error4 log/[0-9]+/error.15 logerror.17 log*/error8 log*/error* *9 log*10 * *当两个模式之间的唯一差别是字符集合中指定的字符时,将通过逐字比较包含模式的两个字符串来确定优先级。
18、仅在要匹配的字符集包含一些相同字符时才必须考虑这一点。
19、如果在两个集合中没有公共字符,则任一给定的字符串最多只能匹配这两个模式中的一个。
本文就为大家分享到这里,希望小伙伴们会喜欢。