通配符

维基百科,自由的百科全书
跳转至: 导航搜索

通配符有以下意思:

电信[编辑]

电信中,通配符可用于代替不确定字符。

  • 在高频自动链路建立协议中,通配符“?”匹配36个字符中的任一个,这36个字符由26个英文字母和10个数字组成。
  • 通配符在表示一个字符或者一个字符串时必须先定义。

计算机[编辑]

计算机软件)技术中,通配符可用于代替字符。 通常地,星号“*”匹配0个或以上的字符,问号“?”匹配1个字符。

文件和目录[编辑]

CP/MDOSMicrosoft Windows类Unix操作系统中描述文件名(或路径)时,星号(*)匹配零个或多个任意字符、问号(?)匹配零个或不多于问号个数的任意字符。如:123??? 将匹配 1231 或 12313,但不会匹配 123991991。在Unix shellWindows PowerShell中,方括号("["和"]")括起来的字符范围匹配在此范围内的任意字符,例如:[A-Za-z] 匹配任意的大小写字母。Unix shells 可以在用括号括起来的指定字符前加一个"!"来表示否定。匹配到多个文件或路径的通配符模式称为glob扩展。

数据库[编辑]

SQL中,通配符可用于"LIKE"表达式中,百分号(%)匹配零个或多个字符,下划线(_)匹配单个字符。Transact-SQL中还支持使用方括号("["和"]")来匹配列表集和字符范围,在前面加一个 ^ 表示否定,将匹配所有未在括号中指定的字符。在Microsoft Access中,通配符可用于"LIKE"表达式中,星号(*)匹配零个或多个字符,问号(?)匹配单个字符。在 SAP 中加号(+)匹配一个字符。

正则表达式[编辑]

正则表达式中,英文句号(.)匹配单个字符,结合一个星号(.*)匹配任意多个字符。

效率[编辑]

在针对较长字符串匹配或对大量的字符串进行匹配时应该注意,后匹配(ABC*)比前匹配(*ABC)有着有着十分明显的效率优势。因为后匹配(ABC*)可以立即排除那些不是已"A"开头的记录,接着排除第二个字符不是"B"的;而前匹配(*ABC)需要尝试匹配每一个字符,至少直到找到了"ABC"。在一些需要高性能的环境应该尽量避免使用前匹配,或者通过其他条件筛选减少了数据量后再使用前匹配搜索。

相关[编辑]