欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Linux正則表達(dá)式怎么用

這篇文章主要講解了“Linux正則表達(dá)式怎么用”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Linux正則表達(dá)式怎么用”吧!

為額濟(jì)納等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及額濟(jì)納網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、額濟(jì)納網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

一.linux文本查找命令

在說linux正規(guī)表達(dá)式之前,還介紹下linux中查找文本文件常用的三個命令:

1.grep : 最早的文本匹配程序,使用POSIX定義的基本正則表達(dá)式(BRE)來匹配文本。

2.egrep : 擴(kuò)展式grep,其使用擴(kuò)展式正規(guī)表達(dá)式(ERE)來匹配文本。

3.fgrep : 快速grep,這個版本匹配固定字符串而非正則表達(dá)式。并且是唯一可以并行匹配多個字符串的版本。

如下簡單的介紹grep命令:

語法格式:

grep [options ...] pattern-spec [files ...]

用途:

匹配一個或多個模式的文本行。

options:

-E : 使用擴(kuò)展正則表達(dá)式進(jìn)行匹配, grep -E 或取代 egrep 命令。

-F : 使用固定字符串進(jìn)行匹配, grep -F 或取代傳統(tǒng)的fgrep命令。

-e : 通常第一個非選項(xiàng)的參數(shù)認(rèn)為是要匹配的模式,也可以同時提供多個模式,只要將其放入單引號,并用換行字符分隔他們。

模式以減號開頭時,為防止混淆其為選項(xiàng),-e選項(xiàng)說明其后的參數(shù)為模式,即使他以減號開頭。

-f : 從pat-file文件讀取模式作為匹配。

-i : 模式匹配時忽略大小寫差異。

-l : 列出匹配模式的文件名稱,而不是打印匹配的行。

-q : 靜默的,如果匹配成功,不將匹配的行輸出到標(biāo)準(zhǔn)輸出;否則即是不成功。

-s : 不顯示錯誤信息,通常與-q并用。

-v : 顯示不匹配模式的行。

說明:可以同時查找多個文件中的內(nèi)容,當(dāng)指定多個文件時,每個顯示出的文件行前會有文件名加一個冒號標(biāo)識其來自哪個文件。

可以使用多個-e 或 -f 選項(xiàng),建立要查找的模式列表。

二.正則表達(dá)式簡要介紹

1.正則表達(dá)式的組成

(1).一般字符:沒有特殊意義的字符

(2).特殊字符(meta字符):元字符,有在正則表達(dá)式中有特殊意義

2.如下講下正則表達(dá)式中的常見meta字符

(1).POSIX BRE與ERE中都有的meta字符:

\   :  通常用于打開或關(guān)閉后續(xù)字符的特殊含義,如\(...\)與\{...\}

.   :   匹配任何單個字符(除NUL)

*  :   匹配其前的任何數(shù)目或沒有的單個字符,例: . 表示任一字符, 則 .* 匹配任一字符的任意長度

^  :   匹配緊接著的正則表達(dá)式,BRE中僅在正則表達(dá)式的開頭有特殊的含義,ERE中在任何位置都有特殊含義

$  :   匹配前面的正則表達(dá)式,在字符串或者行結(jié)尾處。BRE中僅在正則表達(dá)式的結(jié)尾處有特殊的含義,ERE中在任何位置都有特殊含義

[]  :   匹配方括號內(nèi)的任一字符,其中可用連字符(-)指的連續(xù)字符的范圍;^符號苦出現(xiàn)在方括號的第一個位置,則表示匹配不在列表中的任一字符,

(2).POSIX BRE中才有的字符:

\{n,m\} : 區(qū)間表達(dá)式,匹配在它前面的單個字符重現(xiàn)的次數(shù)區(qū)別。\{n\}指重現(xiàn)n次;\{n,m\}指重現(xiàn)n至m次;

\( \) : 保留空間,可以將最多9個獨(dú)立的子模式存儲在單個模式中。如\(ab\).*\1 : 指匹配ab組合的兩次重現(xiàn),中間可存在任意數(shù)目的字符。

\n : 重復(fù)在\(與\)方括號內(nèi)第n個子模式至此點(diǎn)的模式。

(3).POSIX ERE中才有的字符:

{n,m} : 與BRE的\{n,m\}功能相同

+ : 匹配前面正則表達(dá)式的一個或多個擴(kuò)展

? : 匹配前面正則表達(dá)式的零個或一個擴(kuò)展

| : 匹配|符號前或后的正則表達(dá)式

( ) : 匹配方括號括起來的正則表達(dá)式群

(4). 方括號([])表達(dá)式

4.1.字符集  [:  :]

標(biāo)識字符集,有如下幾種:

[::alnum] : 數(shù)字字符[:digit:] : 數(shù)字字符[:punct:] : 標(biāo)點(diǎn)符號字符
[:alpha:] : 字母字符[:graph:] : 非空格字符 [:space:] : 空格字符
[:blank:] : 空格與定位字符[:lower:] : 小寫字母字符[:upper:] : 大寫字母字符
[:cntrl:] : 控制字符[:print:] : 可顯示的字符[:xdigit:] : 16進(jìn)制數(shù)字

 4.2.排序符號

指將多個字符視為一個符號,如[.ch.]即將ch視為一個符號

4.3.等價字符

認(rèn)為多個字符相等,如[=e=]在法文的locale里,可匹配于多種與e相似的字符,此處不再列出。

說明:這三種構(gòu)造除其自身的方括號之外,還必須使用額外的方括號括起來。

例 : [[:alpha:]!] : 匹配任一英文字母或感嘆號。

        [[.ch.] : 匹配ch排序元素,而不匹配單獨(dú)的字母c或h.

 3.簡單正規(guī)表達(dá)式匹配案例

china  :  匹配此行中任意位置有china字符的行

^china : 匹配此以china開關(guān)的行

china$ : 匹配以china結(jié)尾的行

^china$ : 匹配僅有china五個字符的行

[Cc]hina : 匹配含有China或china的行

Ch.na : 匹配包含Ch兩字母并且其后緊跟一個任意字符之后又有na兩個字符的行

Ch.*na : 匹配一行中含Ch字符,并且其后跟0個或者多個字符,再繼續(xù)跟na兩字符

二.實(shí)例

如下通過常用實(shí)例來學(xué)習(xí)BRE和ERE匹配,源文件url.txt內(nèi)容如下:

www.baidu.com
http://www.baidu.com
https://www.baidu.com
http://wwwbaiducom
baidu.com
baidu

1.url匹配

匹配以http或者h(yuǎn)ttps開頭,并且其后為:并且含有.的串

BRE匹配:

grep '^https\{0,1\}.*\..*' url.txt

ERE匹配:

grep -E '^https?.*\..*' url.txt

匹配結(jié)果如下:

http://www.baidu.com
https://www.baidu.com

2.Email匹配

示例文件內(nèi)容為:

hfutwyy@qq.com
aaaa@
aaa@.com
aaa@gmail.com

@@baidu.com

匹配以字母數(shù)字或者下劃線開頭的多個字符,其后有一個@之后有多個字母數(shù)字或者下劃線,其中有一個.號

grep '^[[:alpha:][:digit:]_]*@[[:alpha:][:digit:]]*\..*' email.txt

 匹配結(jié)果:

hfutwyy@qq.com
aaa@.com
aaa@gmail.com

先到這里,后續(xù)再接著寫。

感謝各位的閱讀,以上就是“Linux正則表達(dá)式怎么用”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Linux正則表達(dá)式怎么用這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

新聞名稱:Linux正則表達(dá)式怎么用
轉(zhuǎn)載注明:http://chinadenli.net/article16/jggpdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作網(wǎng)站排名微信公眾號網(wǎng)站設(shè)計(jì)公司自適應(yīng)網(wǎng)站網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)