萬用字元 與 Regex

來源:互聯網
上載者:User

 萬用字元與Regex很容易混淆,首先要明白二者是不同的,個人感覺萬用字元用於Linux的shell命令(如檔案名稱相關操作)中,而Regex用於常值內容中的字串搜尋和替換等。萬用字元是Linux系統本身就支援的,而Regex用於vim編輯器或awk程式,這些文本處理工具正是由於支援Regex才變得強大。

  1. 萬用字元
  • [a-z]或[12]:匹配方括弧中指定範圍內的單個字元或方括弧列出的其中一個字元。
  • [!9]:不匹配方括弧中所列字元或指定範圍內的單個字元。
  • *:匹配0個字元或多個字元。
  • ?:匹配任何單個字元,且不可為空字元。
      由於shell會將字元?[ ] * 區別對待,因此在命令參數時如果需要用到這幾個特殊字元,應將該參數用單引號標註或通過在特殊字元前加逸出字元\。
  1. Regex
  • .:匹配任何單個字元,功能上和萬用字元中的?符號相同。
  • [a-z]或[12]:功能上和萬用字元中的[]相同。
  • [^]:功能和萬用字元中的[!]相同。
  • *:匹配該字元的前一個字元的0次或多次出現。
  • ^:匹配所有以指定Regex開始的行。
  • $:匹配所有以指定Regex結束的行。

      需要注意的是:[]中的特殊字元如.已經失去了其特殊含義,和方括弧中的一般字元[12]一樣。

原文:http://www.cnblogs.com/sujz/archive/2011/12/14/2288164.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.