`
freeskywcy
  • 浏览: 216570 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

通配符知识学习

 
阅读更多

通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件。当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。实际上用“*Not?paOd”可以对应Notpad\MyNotpad*可以代表任何文字】;Notpad\Notepad?仅代表单个文字】;Notepad\Notepodao代表ao里二选一】,其余以此类推。

一、基本概念

  通配符是一类键盘字符,有星号(*)和问号(?).

  当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者不想键入完整名字时,常常使用通配符代替一个或多个真正字符。

星号(*):

  可以使用星号代替0个或多个字符。如果正在查找以AEW开头的一个文件,但不记得文件名其余部分,可以输入AEW*,查找以AEW开头的所有文件类型的文件,如AEWT.txtAEWU.EXEAEWI.dll等。要缩小范围可以输入AEW*.txt,查找以AEW开头的所有文件类型并.txt为扩展名的文件如AEWIP.txtAEWDF.txt

问号(?):

  可以使用问号代替一个字符。如果输入love?,查找以love开头的一个字符结尾文件类型的文件,如loveylovei等。要缩小范围可以输入love?.doc,查找以love开头的一个字符结尾文件类型并.doc为扩展名的文件如lovey.docloveh.doc

通配符包括星号“*”和问号

  星号表示匹配的数量不受限制,而后者的匹配字符数则受到限制。这个技巧主要用于英文搜索中,如输入““computer*”,就可以找到“computercomputerscomputerisedcomputerized”等单词,而输入“comp?ter”,则只能找到“computercompatercompeter”等单词。

二、使用模式

通配符优先级

  对于使用通配符模式的各种资源,Tivoli Access Manager for Operating Systems 必须确定将应用何种通配符模式。例如,假设有两种模式:

  /usr/local/*.log

  和

  /usr/local/user1/*.log

  字符串 /usr/local/user1/x.log 与这两种模式都匹配。

  为了解决这种模棱两可的情况,应用了优先级规则。模式越具体,其优先级也越高。根据这种原则,/usr/local/user1/x.log 在与 /usr/local/*.log 模式相匹配之前先与 /usr/local/user1/*.log 模式相匹配。由于找到一个匹配项,任何可应用于匹配此模式的对象的策略都将适用。

  下表显示了通配符元素的优先级。表中较高位置的元素优先于表中较低位置的元素。

  表:通配符元素优先级规则

优先级

元素

示例

1

精确字符

a, \*,\\

2

字符范围

[Aa], [[:digit:]]

3

任意字符

?

4

重复的精确字符

a+

5

重复的字符范围

[Aa]+, [[:digit:]]+

6

重复的任意字符

?+

7

任意字符串

*

  根据资源的种类,将通过从开始到结束(或者相反方向)逐个元素比较模式来确定优先级。匹配文件名称的模式是从开始比较到结束。匹配主机名称的模式是从结束比较到开始。

  除了认为相同的两种模式之外,将认为较长的模式比较短的模式更具体,除非较长的字符串是由于星号(*)而较长。

通配符优先级的示例

  下表 显示了按优先级从最高到最低排列的文件名和主机名通配符模式。

  . 通配符模式优先级示例

  

优先级

文件名称模式

主机名称模式

1

log/0[0-9]/error

www.[a-z]tv.com

2

log/0?/error

www.?tv.com

3

log/0*/error

www.*tv.com

4

log/[0-9]+/error.1

www-help.[a-z]+v.com

5

log/*/error.1

www-help.*v.com

6

log*/error.1

www-help.*.com

7

log*/error

www.*.com

8

log*/error*

*www.*.com

9

log*

*.com

10

*

*

  当两个模式之间的唯一差别是字符集合中指定的字符时,将通过逐字比较包含模式的两个字符串来确定优先级。仅在要匹配的字符集包含一些相同字符时才必须考虑这一点。如果在两个集合中没有公共字符,则任一给定的字符串最多只能匹配这两个模式中的一个。

路由配置中的通配符

  在路由器的配置中,经常出现通配符。和子网掩码一样,都是以“0”“1”表示,不过与子网掩码所表示的意思却不一样。

  子网掩码所表示的是IP的网络位和主机位,而通配符则表示与IP是否匹配。

  通配符同样是32位,和IP地址一一对应,“0”位代表精确匹配,而“1“位代表不许匹配。例如路由器EIGRP的配置中:

  RouterA(config)#router eigrp 100

  RouterA(config-router)#network 10.0.0.0 0.0.0.255

  RouterA(config-router)#network 192.168.1.0 0.0.0.255

  10.0.0.0 0.0.0.255说明只要接口的IP地址是以“10”开头就参与EIGRP进程。同理的,192.168.1.0 0.0.0.255说明只要IP是以192.168.1开头的IP就符合。

三、SQL 通配符

  在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。

  SQL 通配符必须与 LIKE 运算符一起使用。

  在 SQL 中,可使用以下通配符:

  

通配符

描述

%

替代一个或多个字符

_

仅替代一个字符

[charlist]

字符列中的任何单一字符

[^charlist]
或者
[!charlist]

不在字符列中的任何单一字符

原始的表 (用在例子中的)

  Persons :

  

Id

LastName

FirstName

Address

City

1

Adams

John

Oxford Street

London

2

Bush

George

Fifth Avenue

New York

3

Carter

Thomas

Changan Street

Beijing

使用 % 通配符

例子 1

  现在,我们希望从上面的 "Persons" 表中选取居住在以 "Ne" 开始的城市里的人:

  我们可以使用下面的 SELECT 语句:

  SELECT * FROM PersonsWHERE City LIKE 'Ne%'结果集:

Id

LastName

FirstName

Address

City

2

Bush

George

Fifth Avenue

New York

例子 2

  接下来,我们希望从 "Persons" 表中选取居住在包含 "lond" 的城市里的人:

  我们可以使用下面的 SELECT 语句:

  SELECT * FROM PersonsWHERE City LIKE '%lond%'结果集:

Id

LastName

FirstName

Address

City

1

Adams

John

Oxford Street

London

使用 _ 通配符

例子 1

  现在,我们希望从上面的 "Persons" 表中选取名字的第一个字符之后是 "eorge" 的人:

  我们可以使用下面的 SELECT 语句:

  SELECT * FROM PersonsWHERE FirstName LIKE '_eorge'结果集:

Id

LastName

FirstName

Address

City

2

Bush

George

Fifth Avenue

New York

例子 2

  接下来,我们希望从 "Persons" 表中选取的这条记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "r",然后是任意字符,然后是 "er"

  我们可以使用下面的 SELECT 语句:

  SELECT * FROM PersonsWHERE LastName LIKE 'C_r_er'结果集:

Id

LastName

FirstName

Address

City

3

Carter

Thomas

Changan Street

Beijing

使用 [charlist] 通配符

例子 1

  现在,我们希望从上面的 "Persons" 表中选取居住的城市以 "A" "L" "N" 开头的人:

  我们可以使用下面的 SELECT 语句:

  SELECT * FROM PersonsWHERE City LIKE '[ALN]%'结果集:

Id

LastName

FirstName

Address

City

1

Adams

John

Oxford Street

London

2

Bush

George

Fifth Avenue

New York

例子 2

  现在,我们希望从上面的 "Persons" 表中选取居住的城市不以 "A" "L" "N" 开头的人:

  我们可以使用下面的 SELECT 语句:

  SELECT * FROM PersonsWHERE City LIKE '[!ALN]%'结果集:

Id

LastName

FirstName

Address

City

3

Carter

Thomas

Changan Street

Beijing

 

分享到:
评论

相关推荐

    「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识

    泛型&通配符详解 Java 反射机制详解 Java 代理模式详解 BigDecimal 详解 Java 魔法类 Unsafe 详解 Java SPI 机制详解 Java 语法糖详解 集合 知识点/面试题总结: Java 集合常见知识点&面试题总结(上) (必看 ) Java ...

    「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识 准备 Java 面试,首选.zip

    泛型&通配符详解 Java 反射机制详解 Java 代理模式详解 BigDecimal 详解 Java 魔法类 Unsafe 详解 Java SPI 机制详解 Java 语法糖详解 集合 知识点/面试题总结 : Java 集合常见知识点&面试题总结(上) (必看 ) Java...

    Linux培训视频.zip

    16-Linux通配符和特殊字符知识 17-Linux正则表达式知识精讲 18-三剑客入门知识与配合正则实践 19-三剑客之awk实践及考试题讲 20-磁盘管理-内外部结构及逻辑知识 21-磁盘管理之raid及分区 22-磁盘管理之分区与格式化...

    C#使用[]通配符查询数据库

    摘要:C#源码,数据库应用,通配符 Visual C#利用[]通配符进行查询数据库,学习一下[]通配符在SQL查询中的用法,较基础的C#数据库入门知识,除此功能外,本示例程序没有其它的功能,比较单一,有想研究学习的就下载本...

    java学习笔记 初学者必读

    17.1.3. 泛型的通配符"?" 17-62 17.1.4. 泛型方法的定义 17-63 17.1.5. 泛型类的定义 17-63 17.1.6. 泛型与异常 17-64 17.1.7. 泛型的一些局限型 17-65 17.2. 增强的for循环 17-66 17.3. 自动装箱和自动拆箱 17-69 ...

    如何用Excel统计某字符或关键字出现次数.docx

    今天,我们将学习如何使用 Excel 统计某字符或关键字出现的次数。 知识点 1: COUNTIF 函数 COUNTIF 函数是一个非常有用的函数,可以统计某个值在某个范围内出现的次数。语法为:COUNTIF(range, criteria),其中 ...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    8.5.5 通配符实现简化配置 8.5.6 返回结果的配置 8.6 Struts2的开发模式 8.6.1 实现与ServletAPI的交互 86.2 域模型DomainModel 86.3 驱动模型ModelDriven 8.7 实战检验 8.7.1 Struts2处理表单数据 8.7.2 使用M印...

    Word删除空行图文教程.docx

    Word 的查找和替换对话框提供了多种查找和替换选项,包括普通文本、通配符、格式等。用户可以根据需要选择合适的选项来实现查找和替换操作。 4. 按一下特殊格式按钮,选择段落标记 在查找栏中输入^p^p,替换栏输入...

    linux实验shell编程.pdf

    1. 深入学习shell编程的高级知识,例如shell函数和shell编程的应用场景。 2. 实践更多的shell编程项目,例如使用shell脚本来实现自动化任务和批处理。 3. 探索新的shell编程语言和工具,例如Zsh和Fish等。

    Shell脚本学习笔记

    3.4.3 改变字段分隔符与使用通配符读取目录 69 3.4.5 C式的for命令 70 3.5 while、until命令 71 3.5.1 使用多条测试命令 71 3.5.2 until命令与循环嵌套 72 3.6 文件数据的循环与控制循环 73 3.6.1 文件数据的循环 73...

    简单介绍MySQL中GROUP BY子句的使用

    主要介绍了简单介绍MySQL中GROUP BY子句的使用,是MySQL入门学习中的基础知识,需要的朋友可以参考下

    Java正则表达式入门学习

    一、正则表达式基础知识 1.1 句点符号 假设你在玩英文拼字游戏,想要找出三个字母的单词,而且这些单词必须以“t”字母开头,以“n”字母结束。另外,假设有一本英文字典,你可以用正则表达式搜索它的全部内容。要...

    SQL必知必会(第3版)--详细书签版

    本书涉及不同平台上数据的排序、过滤和分组,以及表、视图、联结、子查询、游标、存储过程和触发器等内容,通过本书读者可以系统地学习到sql 的知识和方法。  本书注重实用性,操作性很强,适合于sql 的初学者学习...

    算法文档,来看看吧

    [原网页] 程序员编程艺术第三十~三十一章:字符串转换成整数,通配符字符串匹配 [原网页] 程序员编程艺术第二十八~二十九章:最大连续乘积子串、字符串编辑距离 [原网页] 数据挖掘中所需的概率论与数理统计知识、...

    SQL必知必会(第3版-PDF清晰版)part1

    推荐:学习SQL编程,必备书籍,从入门到进阶/精通,实例与理论同步,比较优秀作品!(共分压5部分)目录: 第1章 了解SQL... 1 1.1 数据库基础..... 1 1.1.1 什么是数据库..... 2 1.1.2 表..... 2 1.1.3 列和...

    入门学习Linux常用必会60个命令实例详解doc/txt

    要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。 不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者把比较重要和使用频率最多的命令...

    U盘文件删除不了怎么办?.docx

    下面是相关知识点的总结: 1. 什么是DOS命令? DOS(Disk Operating System)是早期的操作系统,提供了一些基本的命令来管理文件和目录。在文件删除中,DOS命令可以使用DEL或ERASE命令来删除文件。 2. DEL和ERASE...

    Python爬虫解析XPATH讲义

    在本讲义中,我们将学习XPATH语言的基本概念、安装方法、路径表达式的使用、函数的使用等方面的知识。 XPATH简介 ---------- XPATH,全称XML Path Language,即XML路径语言,是一种在XML文档中查找信息的语言。...

    21天学习SQL V1.0

    21天学习SQL V1.0.pdf 66 SQL 21 日自学通(V1.0) 翻译人笨猪 EMAIL wyhsillypig@163.com 2 日期/时间函数.........................................................................................................

Global site tag (gtag.js) - Google Analytics