bash正規表示式

2021-10-01 21:40:56 字數 1545 閱讀 2735

1.1、正規表示式:

正規表示式(regular expression)是一種字元模式(pattern),用來匹配字串中的子串。

例如:ro+t 可以匹配 root rooot等

ro*t 可以匹配 rot root rooot等

1.1、正規表示式元字元:
元字元是具有特殊含義的字元,不同於字元表面的含義。正規表示式元字元一般由執行模式匹配的程式來解析,比如grep/egrep、vi/vim、sed、python等。
1.1.1、基本正則元字元:

元字元含義示例^

行首定位符

^shell

$行尾定位符

shell$

.匹配任一字元

she…

*匹配前導符0到多次

she*l

.*任意多個字元

匹配括號內的任一字元

[ss]hell

[^]匹配不在括號內^後的任一字元

[^ss]hell ,[^a-z0-9]

[ a-z ]

匹配括號內a到z範圍內任一字元

[a-z0-9]

\轉義符,用來轉義元字元

\. \*

\<

詞首定位符

\\>

詞尾定位符

shell\>

\(…\)

匹配稍後使用的字元標籤

替換ip :%s/10.0.1.199/10.0.1.219/,:%s/\(10.0.1.\)199/\1219, 給每行加注釋:%s/\(.*\)/#\1

x\匹配字元x出現m次

x\匹配字元x出現m次以上

x\匹配字元x出現m到n次

1.1.2、擴充套件正則元字元:

元字元含義示例+

匹配1或多個前導字元

s+hell

?匹配0或1個前導字元

s?hell|或

a()組字元abc

(…)(…)\1\2

標籤匹配字元

sh(el)l\1xyz

x匹配字元x重複出現m次

x匹配字元x重複出現m次以上

x匹配字元x重複出現m到n次

1.1.3 posix字元

元字元含義

示例[:alnum:]

字母或數字字元

[[:alnum:]]+

[:alpha:]

字母字元

[[:alpha:]]

[:digit:]

數字字元

[[:digit:]]*

[:blank:]

空格與製表符

[[:blank:]]?

[:lower:]

小寫字母

[[:lower:]]

[:upper:]

大寫字母

[[:upper:]]

[:punct:]

標點符號

[[:punct:]]?

[:space:]

回車,換行等在所有空白符

[[:space:]]*

bash正規表示式

星號 匹配它前面的字串或正規表示式任意次 包括0次 比如 1122 可能匹配的字串有 112 1122 1122222 1123131231 句號.匹配除換行符之外的任意乙個字元。比如 112.將匹配112 至少乙個字元 可能匹配的字串有 1121 1122 112abc 1123131231 但不...

bash 正規表示式初步 sed

sed是一種流編輯器,它是文字處理中非常中的工具,能夠完美的配合正規表示式使用,功能不同凡響。處理時,把當前處理的行儲存在臨時緩衝區中,稱為 模式空間 pattern space 接著用sed命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往螢幕。接著處理下一行,這樣不斷重複,直到檔案末尾。檔案...

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...