[RH134] 2-通配符與正則

1.通配符

通配符通常用於shell。git

1)經常使用符號 [] shell

"[]"中的字符只會匹配一個,例如:spa

ha[abc]llo   # 能夠匹配到haallo、habllo、hacllo

或者使用[a-z]這種形式,表示abcd...xyz全部小寫英文字母:code

ha[a-z]llo

除了[a-z]之外,還有[A-Z][0-9]等,表示一個範圍,這個範圍應該是根據ASCii碼編號順序來的。blog

若是要取反,則使用"^"或者"!",例如:it

ha[^a-z]lo  # [^a-z]匹配一個非小寫字母的任意字符
ha[!0-9]lo  # [!0-9]匹配一個非數字的任意字符

注意,若是要匹配"-",則須要轉義:class

ha[^a\-z]lo  # [^a\-z]匹配的是非a、-、z的其餘字符,這裏的-不表示範圍,由於被轉移爲普通字符"-"

2)經常使用符號 ?英文

"?"表明一個任意字符。例如:di

ab?  # 只能匹配到abc、abx、ab3等,不能匹配到abcd、ab33等
ab??  # 只能匹配到ab3三、abcd等,不能匹配到ab3或abcfe等

即,一個"?"表示一個任意字符,若是須要多個,則重複使用"?"。co

3)經常使用符號 * 

"*"表示任意長度的任意字符,即0個或多個任意字符。例如:

aa*  # 能夠匹配到aa開頭的全部字符

4)幾種經常使用字符分類符號

[[:upper:]]:匹配一個純大寫字母,至關於[A-Z]

[[:lower:]]:匹配一個純小寫字母,至關於[a-z]

[[:digit:]]:匹配一個純數字,至關於[0-9]

[[:alpha:]]:匹配一個字母(大小寫均可以),至關於[a-zA-Z]

[[:alnum:]]:匹配一個字母或數字(alpha+number),至關於[0-9a-zA-Z]

 

 

===

相關文章
相關標籤/搜索