當(dāng)前位置:首頁(yè) > 芯聞號(hào) > 充電吧
[導(dǎo)讀]1、正則表達(dá)式元字符的意義和用法(1)“*”號(hào):匹配*號(hào)前面的字符0次或多次的重復(fù);str*普通字符r,匹配0次或多次即string.stre,strg等;(2)“.”匹配任意一個(gè)字...76.前三個(gè)

1、正則表達(dá)式元字符的意義和用法

(1)“*”號(hào):匹配*號(hào)前面的字符0次或多次的重復(fù);

str*普通字符r,匹配0次或多次即string.stre,strg等;

(2)“.”匹配任意一個(gè)字

...76.前三個(gè).任意字符,第6個(gè)任意字符,需要注意的是“.”符號(hào)只能匹配一個(gè)字符;

(3)“^”匹配行首字符,表示是以“^”后面字符開(kāi)頭的行;

^money表示匹配以money開(kāi)頭的行;

綜合舉例:^...x86*,表示:前三個(gè)字符為任意字符,4、5、6為x86,7個(gè)開(kāi)始可以重復(fù)匹配6的字符串開(kāi)頭的行;

(4)"$"匹配行尾,$符號(hào)放在匹配符號(hào)之后,與^用法和功能相反;

money$表示以money結(jié)尾的所有行;

例子:①!^$表示以空開(kāi)頭的行首和以空結(jié)束的行尾,中間沒(méi)有任何字符,即表示匹配空行;

?? ②^.$表示匹配只有一個(gè)字符的行;

(5)“[]”匹配字符集合,該符號(hào)支持窮舉法列出的字符集中所有的元素,也可以使用“-”符號(hào)表示字符集的范圍;

例子:[0123456789]表示任意一個(gè)數(shù)據(jù),[0-9]也表示任意一個(gè)數(shù)字;

? [a-z]表示所有的小寫字母;[A-Z] 表示所有的大寫字母;

?[]A-Za-z]?[]A-Za-z]*表示匹配任意引文單詞;

特別注意:^符號(hào)匹配行首,但是在[^]表示取反;例如:[^b-d]表示不在b~d范圍內(nèi)的所有字符;

(6)“”轉(zhuǎn)義字符,用來(lái)屏蔽一個(gè)字符元的特殊意義‘

例子:.中的“.”不在匹配任意字符,而就只是表示普通字符句號(hào).的含義;

(7)

例子:

(8)"{}"系列符號(hào)與“*”符號(hào)類似,都是表示前一個(gè)字符的重復(fù),但是"*"表示重復(fù)0次或任意次,而"{}"可以指定重復(fù)次數(shù);系列符號(hào)有以下三種是喲個(gè)方法:

①{n}表示前面字符出現(xiàn)n次;

例子:MO{3}NEY只匹配MOOONEY,O出現(xiàn)3次;

②{n,}表示前面字符出現(xiàn)至少n次;

例子:MO{3,}表示匹配MOOONEY,MOOOONEY,MOOOOONEY,匹配O出現(xiàn)3次以上的;

③{n,m}表示匹配前面字符出現(xiàn)n~m次;

例子:MO{3,4}NEY表示匹配MOOONEY和MOOOONEY;

[A-Z]{5}精確匹配任意5個(gè)大寫字母組成的字符,MONEY,HOUSE等;

(9)"?"符號(hào),匹配該符號(hào)前面1次或0次;

例子:JO?B;匹配JOB或JOOB;

(10)"+"匹配符號(hào)前面的字符至少一次;與*的區(qū)別是"*"可以匹配0次;

例子:JO+B匹配JOOB,JOOOB,但是不匹配JOB;

(11)符號(hào)"()"和"|"通常結(jié)合使用,表示一組可選字符集;()符號(hào)很少使用,因?yàn)閇]符號(hào)完全能夠替代;

例子:re(a|e|o)d或re[aeo]d,(a|e|o)表達(dá)式表示在a/e/o中任選一個(gè)字符,即reed、read、reod可由該表達(dá)式匹配;

2、通配

bash shell本身不支持正則表達(dá)式,使用正則表達(dá)式的是shell命令和工具,如grep、awk和sed等;通配的情況下有些符號(hào)和正則表達(dá)式中的符號(hào)含義不是完全一致,例如:*符號(hào)不在表示匹配前面字符的重復(fù)次數(shù),而是任意多個(gè)任意字符;^符號(hào)不在表示行首,而是代表取反;?不在表示匹配符號(hào)前面1次或者0次,而是任意一個(gè)字符;

例子:?echo [a-h]*.awk,查找匹配以a~h字符開(kāi)頭并以.awk后綴結(jié)尾的文件并顯示出來(lái);通配種表達(dá)式{}符號(hào)中用","號(hào)隔開(kāi)表示或的關(guān)系,例如

{[a-h]*.awk,0?.pem}表示匹配以a-h中字符開(kāi)頭并以.awk結(jié)尾的所有文件和以0開(kāi)頭,后面只跟一個(gè)任意字符.并以.pem結(jié)尾的文件;

3、grep命令

grep是一種強(qiáng)大的文本搜索工具,它能夠使用正則表達(dá)式將搜素文本并將匹配的行打印出來(lái);

grep [選項(xiàng)][模式][文件]

如下分別說(shuō)明選項(xiàng)、模式都有哪些:

(1)選項(xiàng):

-c只輸出匹配行的數(shù)量

-i搜索時(shí)忽略大小寫

-h查詢多個(gè)文件是不顯示文件名

-l只列出符合匹配的文件名,不列車具體哪一行;

-n列出所有的匹配行并顯示行號(hào)

-s不顯示不存在或無(wú)匹配文本的錯(cuò)誤的信息

-v顯示不包含匹配的所有行

-w匹配整個(gè)單詞

-x匹配整行

-r遞歸搜索,不僅搜索當(dāng)前工作目錄而且還搜索子目錄

-q不顯示任何搜索結(jié)果,以退出狀態(tài)表示搜索成功與否

-b打印匹配行距離文件頭的偏移量,以字節(jié)為單位

-o與-b選項(xiàng)結(jié)合使用,打印匹配的詞距離文件頭部的偏移量,以字節(jié)為單位

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

-F不支持正則表達(dá)式,按照字符串的字面意思進(jìn)行匹配

(2)模式:

grep的模式非常靈活,可以是字符串、變量、正則表達(dá)式,特別注意無(wú)論模式是何種形式,只要模式中間有空格必須使用“”雙引號(hào)將其括起來(lái),否則會(huì)誤認(rèn)為搜索的目標(biāo)為文件名;

(3)grep和正則表達(dá)式結(jié)合使用:

例子:①搜索后綴名為.sh文件,以echo開(kāi)頭的所有行;grep ?-c ?^echo *.sh

②搜索.sh文件結(jié)尾的文件中空白行:grep -c ^$ ?script.sh

③搜索script.sh中money不區(qū)分大小寫,并將所有匹配的行打印出來(lái)包含行號(hào):grep -n "[Mm][Oo][Nn][Ee][Yy]" script.sh

④搜索“-”開(kāi)頭的重復(fù)“-”任意次,然后是M字符的行:grep ^-*M filename

⑤搜索文件中以"/"開(kāi)頭,中間是任意四個(gè)字符,第六個(gè)字符仍然是“/”的行:grep -n ^/..../ filename

⑥搜索文件中包含sed.suf.frg字符串的行:grep -n sed.suf.frg filename

grep擴(kuò)展egrep等價(jià)于grep -E;fgrep等價(jià)于gerp -F

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉