通配符

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書

通配符(英語:wildcard character)有以下意思:

電信[編輯]

電信中,通配符可用於代替不確定字符。

  • 在高頻自動鏈路建立協議中,通配符「?」匹配36個字符中的任一個,這36個字符由26個英文字母和10個數字組成。
  • 通配符在表示一個字符或者一個字符串時必須先定義。

電腦[編輯]

電腦軟體)技術中,通配符可用於代替單個或多個字符。[1] 通常地,星號「*」匹配0個或以上的字符,問號「?」匹配1個字符。

文件和目錄[編輯]

CP/MDOSMicrosoft Windows類Unix操作系統中描述文件名(或路徑)時,星號*)匹配零個或多個任意字符、問號?)匹配零個或不多於問號個數的任意字符。如:123??? 將匹配 123112313,但不會匹配 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"。在一些需要高性能的環境應該儘量避免使用前匹配,或者通過其他條件篩選減少了數據量後再使用前匹配搜索。

相關[編輯]

參考資料[編輯]

  1. ^ What is wildcard?. [2016-11-21]. (原始內容存檔於2016-11-21). 

外部連結[編輯]