正則表達式

正則表達式是一種以一些字符賦予特殊意義之后,用來表達字符串,用以篩選各種形式的字符串用來進行查找、替換、刪除等各種文本編輯作用的一種表示方式。

正則表達式的特殊字符

字符表示

.   可以表示任意可打印字符

[] 中括號范圍內任意單個字符

[^] 中括號范圍外任意單個字符 (相對所有可打印字符)

[:space:] 表示任意單個空白字符

[:digit:] 任意單個數字

[:lower:] 任意單個小寫字母

[:upper:] 任意單個大寫字母

[:alnum:] 任意單個字母或數字

[:alpha:] 任意單個字母

[:punct:] 任意單個標點符號

[:cntrl:] 任意單個控制字符

[:graph:] 任意單個圖形字符

[:xdigit:] 任意單個十六進制字符

字符次數

* 表示一個字符重復任意次

+ 表示一個字符重復一次以上

? 表示一個字符重復一次或零次
{n} 表示重復n

{n,m} 表示重復最少n次,最多m

{,m} 表示重復最多m

{n,} 表示重復最少n

位置錨定                

^ 確定位置為行首

$ 確定位置為行尾

\< 確定單詞首

\> 確定單詞尾

分組與引用   分組每一個配對的括號之間的內容就是一個分組,每一個分組就是一個整體,整體可以用最左變數第n個左括號,用\n 后項引用。

(a+(b))  \1=a+(b)

\2=b

如:顯示passwd文件中用戶名與shell名相同的行。

正則表達式 

這個是個典型的后項引用,\1 就是引用的括號里面的內容。這才能達成用戶名與shell相同的需求。

正則表達式 

 

引用模式,只能用正向思維構建,不能用反向思維構建。

就比如

 

用正則表達式取出一個文件的路徑 /etc/rc.d/inint.d/functions/

我想的有兩種思路,

一種直接取路徑,第二種就是先取出基名然后再取反取出路徑。

第一種就是

正則表達式 

思路就是^鎖定詞首,./*表示之后不管路徑多長之后總是/為終點,\<表示鎖定詞首,就是說后面還有一個單詞。

第二種就是

正則表達式 

思路就是先是括號內的是一個整體,作用是取出基名,然后在外面加上[^]達到取反,從而取出路徑,但是沒有結果。

原因是[^]取反的是指定范圍外的單個字符,然而括號括起來的是一個整體,不是一個字符,所以就會出現語法錯誤,同時也知道了中括號中不能套小括號。

原創文章,作者:何必呢,如若轉載,請注明出處:http://www.www58058.com/83544

(0)
何必呢何必呢
上一篇 2017-08-02 11:01
下一篇 2017-08-03 19:30

相關推薦

  • Nginx之ngx_http_fastcgi_module模塊詳解

    一、ngx_http_fastcgi_module模塊:       nginx支持FastCGI模式       CGI:Common GateWay Interface 公共網管接口,可以理解其為HTTP服務器與其他主機上運行的程序進行通信的接口。       CG…

    2017-06-25
  • 用戶與組管理

    如何成為linux用戶?     在linux系統中,要想從系統中獲取資源、對系統進行管理和控制,就需要向系統申請一個賬號,從而實現特定用途,當申請到賬號后,要對它設置口令,這樣用戶賬號就申請成功了,然后可以登陸系統,當用戶登陸系統時,需要通過系統的認證,認證成功后才給予授權,在用戶的使用過程中還會對用戶進行審計。 為什么要設置…

    Linux干貨 2016-08-08
  • shell的基本使用

    小知識: 在bash環境中變量有各自的范圍,有些的變量無法超出自己本身的范圍,也無法更改自己, 或提升自己的能力范圍 用source命令執行腳本,會對里面的變量發生改變包括范圍 例:命令行中寫name=wang 腳本中寫name=xdg  先命令行,再腳本,最后命令行的順序依次執行 1.正常的執行腳本 ./file.sh  輸出的結果: …

    Linux干貨 2017-08-05
  • linux基礎中的基礎 —- 用戶管理、文本處理、正則表達式等命令的使用(博客第三周作業)

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。     who | cut -d' ' -f1 | uniq 2、取出最后登錄到當前系統的用戶的相關信息。     who | tail -1 3、取出當前系統上被用戶當作其默認shell的最…

    Linux干貨 2016-07-22
  • Linux系統上的文件處理工具

    Linux系統上的文件處理工具 我們都知道在計算機中,存在大量的文件,這些文件中包含大量的信息??墒怯行r候,為了工作的效率,我們在茫茫信息中提取出我們所需要的信息,這樣的技能就顯得尤為重要。Linux系統上為我我們提供了多種多樣的文本處理工具,下面我們來簡單說一下。 查看文件內容我們可以使用less命令,cat命令,more命令等等 cat cat [OP…

    Linux干貨 2016-08-05
  • VIM編輯器入門

    VIM簡介 VIM是一個類似于Vi的著名的功能強大、高度可定制的文本編輯器,在Vi的基礎上改進和增加了很多特性。VIM是純粹的自由軟件。 VIM的使用 在介紹基本使用前,先了解下VIM的基本模式 基本模式可分為三種:命令模式、輸入模式、末行模式 命令模式:Vim啟動后的默認模式,通過輸入指令完成對應的編輯操作。輸入模式和末行模式從命令模式進入&nb…

    Linux干貨 2016-04-05
欧美性久久久久