字元匹配 與 中括號運算式

來源:互聯網
上載者:User

標籤:des   style   blog   http   color   io   os   使用   ar   

句點 (.) 匹配字串中的各種列印或非列印字元,只有一個字元例外。這個例外就是分行符號 (\n)。下面的Regex匹配 aac、abc、acc、adc 等等,以及 a1c、a2c、a-c 和 a#c:

/a.c/

若要匹配包含檔案名稱的字串,而句點 (.) 是輸入字串的組成部分,請在Regex中的句點前面加反斜扛 (\) 字元。舉例來說明,下面的Regex匹配 filename.ext:

/filename\.ext/

這些運算式只讓您匹配“任何”單個字元。可能需要匹配列表中的特定字元組。例如,可能需要尋找用數字表示的章區段標頭(Chapter 1、Chapter 2 等等)。

中括號運算式

若要建立匹配字元組的一個列表,請在方括弧([ 和 ])內放置一個或更多單個字元。當字元括在中括弧內時,該列表稱為“中括號運算式”。與在任何別的位置一樣,一般字元在中括弧內表示其本身,即,它在輸入文本中匹配一次其本身。大多數特殊字元在中括號運算式內出現時失去它們的意義。不過也有一些例外,如:

  • 如果 ] 字元不是第一項,它結束一個列表。若要匹配列表中的 ] 字元,請將它放在第一位,緊跟在開始 [ 後面。

  • \ 字元繼續作為轉義符。若要匹配 \ 字元,請使用 \\。

括在中括號運算式中的字元只匹配處於Regex中該位置的單個字元。以下Regex匹配 Chapter 1、Chapter 2、Chapter 3、Chapter 4 和 Chapter 5:

/Chapter [12345]/

請注意,單詞 Chapter 和後面的空格的位置相對於中括弧內的字元是固定的。中括號運算式指定的只是匹配緊跟在單詞 Chapter 和空格後面的單個字元位置的字元集。這是第九個字元位置。

若要使用範圍代替字元本身來表示匹配字元組,請使用連字號 (-) 將範圍中的開始字元和結束字元分開。單個字元的字元值確定範圍內的相對順序。下面的Regex包含範圍運算式,該範圍運算式等效於上面顯示的中括弧中的列表。

/Chapter [1-5]/

當以這種方式指定範圍時,開始值和結束值兩者都包括在範圍內。注意,還有一點很重要,按 Unicode 排序次序,開始值必須在結束值的前面。

若要在中括號運算式中包括連字號,請採用下列方法之一:

  • 用反斜扛將它轉義:

    [\-]
  • 將連字號放在中括弧列表的開始或結尾。下面的運算式匹配所有小寫字母和連字號:

    [-a-z][a-z-]建立一個範圍,在該範圍中,開始字元值小於連字號,而結束字元值等於或大於連字號。下面的兩個Regex都滿足這一要求: 
  • [!--][!-~]

若要尋找不在列表或範圍內的所有字元,請將插入符號 (^) 放在列表的開頭。如果插入字元出現在列表中的其他任何位置,則它匹配其本身。下面的Regex匹配編號大於 5 的章區段標頭:

/Chapter [^12345]/

在上面的樣本中,運算式在第九個位置匹配 1、2、3、4 或 5 之外的任何數字字元。這樣,例如,Chapter 7 就是一個匹配項,Chapter 9 也是一個匹配項。

上面的運算式可以使用連字號 (-) 來表示:

/Chapter [^1-5]/

中括號運算式的典型用途是指定任何大寫或小寫字母或任何數位匹配。下面的運算式指定這樣的匹配:

/[A-Za-z0-9]/

字元匹配 與 中括號運算式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.