萬用字元

字符串中用以代替其他任意字符的字符

萬用字元(英語: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). 

外部連結

編輯