歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> Shell 正則表達式總結及其含義舉例

Shell 正則表達式總結及其含義舉例

日期:2017/3/1 10:31:08   编辑:SHELL編程

基本元字符集及其含義:

^

只匹配行首

$

只匹配行尾

*

只一個單字符後緊跟*,匹配0個或多個此單字符

[ ]

只匹配[ ]內字符。可以是一個單字符,也可以是字符序列。可以使用 - 表示[ ]內字符序列范圍,如用[1-5]代替[12345]

\

只用來屏蔽一個元字符的特殊含義。因為有時在s h e l l中一些元字符有特殊含義。\可以使其失去應有意義

.

只匹配任意單字符

pattern\{n\}

只用來匹配前面pattern出現次數。n為次數

pattern\{n,\}m

含義同上,但次數最少為n

pattern\{n,m\}

含義同上,但pattern出現次數在n與m之間

常用舉例:

^

行首

$

行尾

^[the]

以the開頭行

[Ss]igna[lL]

匹配單詞signal、signaL、Signal、SignaL

[Ss]igna[lL]\.

同上,但加一句點

[mayMAY]

包含may大寫或小寫字母的行

^USER$

只包含USER的行

[tty]$

以tty結尾的行

\.

帶句點的行

^d..x..x..x

用戶、用戶組及其他用戶組成員有可執行權限的目錄

^[^l]

排除關聯目錄的目錄列表

[.*0]

0之前或之後加任意字符

[000*]

000或更多個

[iI]

大寫或小寫I

[iI][nN]

大寫或小寫i或n

[^$]

空行

[^.*$]

匹配行中任意字符串

^......$

包括6個字符的行

[a-zA-Z]

任意單字符

[a-z][a-z]*

至少一個小寫字母

[^0-9\$]

非數字或美元標識

[^0-0A-Za-z]

非數字或字母

[123]

1到3中一個數字

[Dd]evice

單詞device或Device

De..ce

前兩個字母為De,後跟兩個任意字符,最後為ce

\^q

以^q開始行

^.$

僅有一個字符的行

^\.[0-9][0-9]

以一個句點和兩個數字開始的行

'"Device"'

單詞device

De[Vv]ice\.

單詞Device或device

[0-9]\{2\}-[0-9]\{2\}-[0-9]\{4\}

日期格式dd-mm-yyyy

[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}

IP地址格式nnn.nnn.nnn.nnn

[^.*$]

匹配任意行

Copyright © Linux教程網 All Rights Reserved