通配符

通配符

通配符是一種特殊語句,主要有星號(*)和問號(?),用來模糊搜尋檔案。當查找資料夾時,可以使用它來代替一個或多個真正字元;當不知道真正字元或者懶得輸入完整名字時,常常使用通配符代替一個或多個真正的字元。實際上用“*Not?paOd”可以對應Notpad\MyNotpad(*可以代表任何文字);Notpad\Notepad(?僅代表單個字);Notepad\Notepod(ao代表a與o里二選一),其餘以此類推。通配符是競價排名廣告的一項高級功能,當在廣告創意中使用了這項功能之後,使用不同搜尋字詞的用戶將看到不同的廣告創意。這將大大提高廣告的相關性和實用性,從而提高廣告的點擊率,同時也大大提高了工作效率。

基本信息

類型

通配符通配符
通配符是一類鍵盤字元。當查找資料夾時;當不知道真正字元或者不想鍵入完整名字時,常常使用通配符代替一個或多個真正字元

星號(*)

可以使用星號代替0個或多個字元。如果正在查找以AEW開頭的一個檔案,但不記得檔案名稱其餘部分,可以輸入AEW*,查找以AEW開頭的所有檔案類型的檔案,如AEWT.txt、AEWU.EXE、AEWI.dll等。要縮小範圍可以輸入AEW*.txt,查找以AEW開頭的所有檔案類型並.txt為擴展名的檔案如AEWIP.txt、AEWDF.txt。

問號(?)

可以使用問號代替一個字元。如果輸入love?,查找以love開頭的一個字元結尾檔案類型的檔案,如lovey、lovei等。要縮小範圍可以輸入love?.doc,查找以love開頭的一個字元結尾檔案類型並.doc為擴展名的檔案如lovey.doc、loveh.doc。

通配符包括星號“*”和問號“?”。星號表示匹配的數量不受限制,而後者的匹配字元數則受到限制。這個技巧主要用於英文搜尋中,如輸入““computer*”,就可以找到“computer、computers、computerised、computerized”等單詞,而輸入“comp?ter”,則只能找到“computer、compater、competer”等單詞。

使用模式

通配符優先權

對於使用通配符模式的各種資源,Tivoli
AccessManagerforOperatingSystems必須確定將套用何種通配符模式。例如,假設有兩種模式:/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任意字元串*
根據資源的種類,將通過從開始到結束(或者相反方向)逐個元素比較模式來確定優先權。匹配檔案名稱稱的模式是從開始比較到結束。匹配主機名稱的模式是從結束比較到開始。
除了認為相同的兩種模式之外,將認為較長的模式比較短的模式更具體,除非較長的字元串是由於星號(*)而較長。

通配符優先權的示例

優先權檔案名稱稱模式主機名稱模式
1log/0[0-9]/error
2log/0?/error
3log/0*/error
4log/[0-9]+/error.1
5log/*/error.1
6log*/error.1
7log*/error
8log*/error**
9log*
10**
當兩個模式之間的唯一差別是字元集合中指定的字元時,將通過逐字比較包含模式的兩個字元串來確定優先權。僅在要匹配的字元集包含一些相同字元時才必須考慮這一點。如果在兩個集合中沒有公共字元,則任一給定的字元串最多只能匹配這兩個模式中的一個。

路由配置中的通配符

在路由器的配置中,經常出現通配符。和子網掩碼一樣,都是以“0”或“1”表示,不過與子網掩碼所表示的意思卻不一樣。子網掩碼所表示的是IP的網路位和主機位,而通配符則表示與IP是否匹配。

通配符同樣是32位,和IP位址一一對應,“0”位代表精確匹配,而“1“位代表不許匹配。例如路由器EIGRP的配置中:
RouterA(config)#routereigrp100
RouterA(config-router)#network10.0.0.00.0.0.255
RouterA(config-router)#network192.168.1.00.0.0.255
10.0.0.00.0.0.255說明只要接口的IP位址是以“10”開頭就參與EIGRP進程。同理的,192.168.1.0
0.0.0.255說明只要IP是以192.168.1開頭的IP就符合。

SQL 通配符

在搜尋資料庫中的數據時,SQL
通配符可以替代一個或多個字元。
SQL通配符必須與LIKE運算符一起使用。

通配符 描述
% 替代零個或多個字元
_ 僅替代一個字元
[charlist] 字元列中的任何單一字元

[^charlist] 或者 [!charlist]
不在字元列中的任何單一字元

原始的表

(用在例子中的):Persons

表:

Id LastName FirstName Address City
Adams John Oxford Street London
Bush George Fifth Avenue New York
Carter Thomas Changan Street Beijing

套用舉例

例子1、 希望從"Persons"表中選取居住在包含"lond"的城市裡的人:可以使用下面的SELECT語句:SELECT*FROMPersonsWHERECityLIKE'%lond%

例子2、希望從上面的"Persons"表中選取名字的第一個字元之後是"eorge"的人:可以使用下面的SELECT語句:SELECT*FROMPersonsWHEREFirstNameLIKE'_eorge'。

相關搜尋

熱門詞條

聯絡我們