正則表達式

正則表達式

一般用於判斷語句中,用來檢查某一字符串是否知足某一格式正則表達式

  • 正則表達式是由普通字符與元字符組成bash

  • 普通字符包括大小寫字母、數字、標點符號及一些其餘符號ide

  • 元字符是指在正則表達式中具備特殊意義的專用字符,能夠用來規定其前導字符(即位於元字符前面的字符)在目標對象中的出現模式工具

一、基礎正則表達式常見元字符: (支持的 工具: grep、 egrep、 sed、awk)

\ : 轉義字符,用於取消特殊符號的含義,例: \!、\n、\$等

^ : 匹配字符串開始的位置,例: ^a、 ^the、 ^#、^[a-z]

$ : 匹配字符串結束的位置,例: word$、 ^$匹配空行

. : 匹配除\n以外的任意的一個字符,例: go.d、g..d

* : 匹配前面 子表達式0次或者屢次,例: goo*d、go.*d

[list] : 匹配list列表中的一個字符,例: go[ola]d, [abc]、 [a-z]、 [a-z0-9]、 [0-9]匹配任意一位數字

[^list] : 匹配任意非list列表中的一個字符,例: [^0-9]、[^A-Z0-9]、 [^a-z]匹配任意一位非小寫字母

\{n\} : 匹配前面的子表達式n次,例: go\{2\}d、 '[0-9]\{2\}'匹配兩位數字

\{n,\} : 匹配前面的子表達式很多於n次,例: go\{2,\}d、 '[0-9]\{2,\}'匹配兩位及兩位以上數字

\{n,m\} : 匹配前面的子表達式n到m次,例: go\{2,3\}d、 '[0-9]\{2,3\}'匹配兩位到三位數字

 

注: egrep、 awk使用{n}、{n,}、 {n, m}匹配時「{}"前不用加「\」

image

image

image

image

image

image

二、擴展正則表達式元字符: ( 支持的工具: egrep、 awk)

+ : 匹配前面 子表達式1次以上,例: go+d, 將匹配至少一個o,如god、good、goood等

? : 匹配前面 子表達式0次或者1次,例: go?d,將匹配gd或god

() : 將括號中的字符串做爲一個總體,例: g(oo)+d, 將匹配oo總體1次以上,如good、gooood等

| : 以或的方式匹配字條串,例: g(oo|la)d, 將匹配good或者glad

 

image

拓展

1.使用正則表達式,獲取指定的座機號

image

image

image

二、使用正則表達式,獲取指定的郵箱

用戶名@ :^([A-Za-z0-9_\-\.\+]+)\@

子域名 :([a-zA-Z0-9_\-\.]+)

.頂級域名(字符串長度通常在2到5) :\.([a-zA-Z]{2,5})$

egrep "^([a-zA-Z0-9_\-\.\+]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$" youxiang

 

image

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息