日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
詳解Linux正則表達(dá)式

正則表達(dá)式(Regular Expression)是一種文本模式,包括普通字符(例如,a 到 z 之間的字母)和特殊字符(稱為”元字符”)。正則表達(dá)式使用單個(gè)字符串來(lái)描述、匹配一系列匹配某個(gè)句法規(guī)則的字符串,本篇文章重點(diǎn)為大家講解一下Linux中正則表達(dá)式。

十多年的新疆網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整新疆建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“新疆網(wǎng)站設(shè)計(jì)”,“新疆網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

我們可以使用 grep 命令來(lái)測(cè)試我們的正則表達(dá)式,grep命令使用正則表達(dá)式去嘗試匹配指定文件的每一行,并將至少有一處匹配表達(dá)式的所有行顯示出來(lái)。

grep 命令說(shuō)明:

常用的選項(xiàng)OPTION:

-c 顯示匹配到的行數(shù)之和

-o 僅顯示匹配本身

-v 顯示非匹配,取反

-i 不區(qū)分大小寫

-E 支持?jǐn)U展表達(dá)式

-q 靜默模式

-n 顯示匹配到的行的行號(hào)

-A 2 顯示匹配到的行的后2行

-B 2 顯示匹配到的行的前2行

-C 2 顯示匹配到的行的前后2行

-V 顯示版本信息

使用語(yǔ)法:

grep [OPTION]… PATTERN [FILE]…

grep “[匹配字符]匹配出現(xiàn)次數(shù)” /PATH/TO/SOMEFILE

字符匹配:

. 任意單個(gè)字符

[] 指定范圍內(nèi)的單個(gè)字符

[^] 指定范圍外的的單個(gè)字符,取反

.* 任意長(zhǎng)度的任意字符

[:alnum:] 所有的字母和數(shù)字      

[:alpha:] 所有的字母

[:blank:] 所有呈水平排列的空白字符

[:cntrl:] 所有的控制字符

[:digit:] 所有的數(shù)字

[:graph:] 所有的可打印字符,不包括空格

[:lower:] 所有的小寫字母    

[:print:] 所有的可打印字符,包括空格

[:punct:] 所有的標(biāo)點(diǎn)字符

[:space:] 所有呈水平或垂直排列的空白字符

[:upper:] 所有的大寫字母    

[:xdigit:] 所有的十六進(jìn)制數(shù)

[=字符=] 所有和指定字符相等的字符

匹配次數(shù) :

* 其前面的字符出現(xiàn)任意次,0次或1次,或者多次

\? 其前面的字符出現(xiàn)0次或1次

\+ 其前面的字符出現(xiàn)1次或多次,至少出現(xiàn)1次

\{m\} 指定字符出現(xiàn)次數(shù)

\{m,n\} 至少出現(xiàn)m次,至多出現(xiàn)n次,范圍取次

\{0,n\} 出現(xiàn)最多n次          

\{m,\} 出現(xiàn)最少m次

位置錨定:

^ 行首錨定,用于模式的最左側(cè)

$ 行尾錨定,用于模式的最右側(cè)

^……$ 整行, ^$ 空白行,^[[:space:]]*$ 空行或者有空白字符的行

\ 或 \b  詞尾錨定

\  精確錨定單詞

分組及引用:

\{xy\}*ab     表示多個(gè)字符出現(xiàn)0,1或多次。 \ 在這里作為轉(zhuǎn)義符使用

\(abcd\){1,3}    表示包含abcd字符串最少出現(xiàn)1次,最多出現(xiàn)3次

\(1..2\).* \1      \1 是指引用從左側(cè)起第一個(gè)()之間的字符

\(1..2\).* \(3..4\)\2    \2 是指引用從左側(cè)起第二個(gè)()之間的字符

\(1..2\).* \(3..4\).*\(5..6\)\3   \3 是指引用從左側(cè)起第三個(gè)()之間的字符

使用實(shí)例:

查看顯示 /etc/fstab 文件以 # 注釋開(kāi)頭的行:

這里也可以不加【】:

-v 取反,即顯示不以#注釋的行,-o 選項(xiàng)為只顯示匹配到的字符串:

顯示 /etc/fstab 文件非注釋的行,錨定行首為 # 注釋的行,取反:

顯示 /etc/fstab 文件以#號(hào)開(kāi)頭,后面跟一個(gè)空格,后面為任意長(zhǎng)度任意字符的行, -c 選項(xiàng)可以統(tǒng)計(jì)匹配到的行數(shù):

在 /tmp/fstab 文件中加入多個(gè)空白行,以#號(hào)開(kāi)頭,后面僅跟一個(gè)空格,且不以空白符結(jié)尾的行:

顯示 /tmp/sshd_config 文件中不以#注釋、空白行以及有空白字符的行:

顯示 /etc/passwd 文件中用戶名和用戶SHELL為一樣的行:

顯示 /tmp 目錄下,以非字母開(kāi)頭,后面跟一個(gè)字母,后面為任意長(zhǎng)度任意字符的文件或者目錄:

顯示 /tmp 目錄下以非字母開(kāi)頭,后面僅跟一個(gè)字母,然后以非字母結(jié)尾的文件和目錄:

顯示 /etc 目錄下以p開(kāi)頭不以數(shù)字結(jié)尾的所有文件和目錄:

顯示 ip a 或者 ifconfig 命令中的IP地址,-E 選項(xiàng)為支持?jǐn)U展正則表達(dá)式:

-l 選項(xiàng)可以列出包含字符串的文件列表:

-w 精確錨定字符串,相當(dāng)于 :

egrep 的使用方法跟 grep 基本一致,不需要轉(zhuǎn)義符 \ 看起來(lái)更簡(jiǎn)潔:


當(dāng)前文章:詳解Linux正則表達(dá)式
文章鏈接:http://www.dlmjj.cn/article/cdoopjh.html