Linux正規表示式 元字元

2021-12-29 21:39:41 字數 1121 閱讀 1520

我們已經看過了表示式中的兩個基本元素:

1.以乙個字面值或變數表示的值。

2. 乙個操作符。

正規表示式是由這些相同的元素組成的。除元字元除外,都被解釋為只匹配它本身的字面值。

元字元彙總

特殊字元

用途

. 匹配除換行符以外的任意單個字元。在awk 中,句點也能匹配換行符。

* 匹配任意乙個(包括零個)在它面前的字元(包括由正則表 達式指定的字元)

[...]

匹配方括號中的字元類中的任意乙個。如果方括號中第乙個字元為脫字符號(^),則表示否定匹配,即匹配除了換行符和類中列出的那些字元以外的所有字元。在awk 中,也匹配換行符。連字元(-)用於表示字元的範圈。如果類中的第乙個字元為右方括號(] )則表示它是類的成員。所有其他的元字元在被指定為類中的成員時都會失去它們原來的含義

^ 如果作為正規表示式的第乙個字元,則表示匹配行的開始。在awk 中匹配字串的開始,即使字串包含嵌入的換行符。

$ 如果作為正規表示式的最後乙個字元,則表示匹配行的結尾。在awk中匹配字串的結尾,即使字串包含嵌入的換行符。

\ 匹配它前面某個範圍內單個字元出現的次數(包括由正規表示式指定的字元)。\ 將匹配n次出現, \ 至少匹配n次出現,而且\ 匹配n和m之間的任意次出現。(只有sed 和grep 的一些非常舊的版本中不能使用)。

\ 轉義隨後的特殊字元。

擴充套件的元字元(egrep和awk)

特殊字元

用途

+ 匹配前面的正規表示式的一次或多次出現

? 匹配前面的正規表示式的零次或一次出現

| 指定可以匹配其前面的或後面的正規表示式(替代方案)

() 對正規表示式分組

匹配它前面某個範圈內單個字元出現的次數(包括由正規表示式指定的字元) 。 表示匹配n次出現, 至少匹配n次出現, 匹配n和m之間的任意次出現。(用於posix 的egrep 和posix awk而不是傳統的egrep 或awk)

元字元在正規表示式中有特殊的含義,與+和*在算術表示式中具有特殊含義的方式相同。有些元字元(+?()|)只有作為由程式(例如egrep和awk)使用的擴充套件集的一部分時才可用。在一下幾節中我們將介紹每個元字元的用法,首先從反斜槓開始介紹。

Linux正規表示式 元字元

我們已經看過了表示式中的兩個基本元素 1.以乙個字面值或變數表示的值。2.乙個操作符。正規表示式是由這些相同的元素組成的。除元字元除外,都被解釋為只匹配它本身的字面值。元字元彙總 特殊字元用途.匹配除換行符以外的任意單個字元。在awk 中,句點也能匹配換行符。匹配任意乙個 包括零個 在它面前的字元 ...

正規表示式 元字元

現在你已經知道幾個很有用的元字元了,如 b 還有 d 當然還有更多的元字元可用,比如 s 匹配任意的空白符,包括空格,製表符 tab 換行符,中文全形空格等 w匹配字母或數字或下劃線或漢字等。ba w b 匹配以字母a 開頭的單詞 先是某個單詞開始處 b 然後是字母a 然後是任意數量的字母或數字 w...

正規表示式 元字元

元字元 描述.點 匹配任何單個字元。例如正規表示式r.t匹配這些字串 rat rut r t,但是不匹配root。匹配行結束符。例如正規表示式weasel 能夠匹配字串 he s a weasel 的末尾 但是不能匹配字串 they are a bunch of weasels.匹配一行的開始。例如...