国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

linux通配符和正則表達(dá)式的使用

瀏覽:149日期:2023-07-12 13:58:07

linux通配符的英文名是wildcard,說(shuō)白了一般只用于文件名匹配, 它是由shell解析的。而正則表達(dá)式呢?從簡(jiǎn)單的角度去理解,你可以把正則表達(dá)式看成是一種字符串匹配模式標(biāo)準(zhǔn)。那linux通配符和正則表達(dá)式是如何使用的呢?請(qǐng)看下文。

linux通配符和正則表達(dá)式的使用

一、正則表達(dá)式:

元字符是用來(lái)闡釋字符表達(dá)式意義的字符,簡(jiǎn)言之,就是用來(lái)描述字符的字符。

正則表達(dá)式RE(Regular Expression)是由一串字符和元字符構(gòu)成的字符串。

正則表達(dá)式的主要功能是文本查詢和字符串操作,它可以匹配文本的一個(gè)字符或字符集合。實(shí)際上正則表達(dá)式完成了數(shù)據(jù)的過(guò)濾,將不滿足正則表達(dá)式定義的數(shù)據(jù)拒絕掉,剩下與正則表達(dá)式匹配的數(shù)據(jù)。

基本的正則表達(dá)式元字符集合及其意義:

linux通配符和正則表達(dá)式的使用

1、“*”符號(hào)

zha*ng :“*”前面的普通字符是a,就表示匹配a字符0次或多次,如:zhng、zhang、zhaaaang……

(根據(jù)測(cè)試可以不包括前面的字符,即匹配0次)

2、匹配空行

匹配行首的^和匹配行尾的$組合起來(lái)“^$”可以用來(lái)匹配空行,如果需要匹配只包含一個(gè)字符的行,可以用“^.$”

3、“[]”符號(hào)

匹配字符集合,支持窮舉方法列出字符集合的所有元素,也支持使用“-”符號(hào)表示字符集合范圍。

[12345] 等價(jià)于 [1-5]

我們知道“^”符號(hào)表示匹配行首,但是,“^”符號(hào)放到“[]”符號(hào)中就不再表示匹配行首了,而是表示取反符號(hào)。

[^b-d] :表示不再b~d范圍內(nèi)的字符

[A-Za-z] [A-Za-z]* :匹配任意英文單詞

二、正則表達(dá)式的擴(kuò)展:

擴(kuò)展的正則表達(dá)式元字符及其意義:

linux通配符和正則表達(dá)式的使用

1、“?”符號(hào)

(根據(jù)測(cè)試可以不包括前面的字符,即匹配0次)

2、“()”符號(hào)和“|”符號(hào)

“()”符號(hào)和“|”符號(hào)通常結(jié)合使用,表示一組可選字符的集合。

re(a|b|c)d 等價(jià)于 re[abc]d

“|”符號(hào)也可以表示多個(gè)正則表達(dá)式的“或”關(guān)系。

grep -E “zha?ng|zhi” 文件

三、linux通配符:

bash shell本身不支持正則表達(dá)式,使用正則表達(dá)式的是shell命令和工具,如grep,sed,awk。

bash shell可以使用正則表達(dá)式中的一些元字符實(shí)現(xiàn)通配(Globbing)功能。

通配是把一個(gè)包含通配符的非具體文件名擴(kuò)展存儲(chǔ)在計(jì)算機(jī),服務(wù)器或者網(wǎng)絡(luò)上的一批具體文件名的過(guò)程。

(可以看出通配主要應(yīng)用匹配文件名上,而正則主要應(yīng)用于字符串上)

最常用的通配符包括正則表達(dá)式元字符:?、*、[]、{}、^等。

linux通配符和正則表達(dá)式的使用

“{}”符號(hào)

表示一組表達(dá)式的集合。如:{[a-h]*.awk ,a?.txt}

以上便是關(guān)于linux通配符和正則表達(dá)式的一些使用技巧和作用解釋,以前總是把通配符和正則表達(dá)式的標(biāo)志搞混,忘記做筆記,現(xiàn)在看到用戶的說(shuō)說(shuō)想起自己對(duì)于這塊也不熟悉,因此特來(lái)撰寫這篇教程。

標(biāo)簽: Linux系統(tǒng)
相關(guān)文章:
主站蜘蛛池模板: 易门县| 石棉县| 望奎县| 博乐市| 永胜县| 崇阳县| 宣武区| 武宣县| 阜阳市| 沙坪坝区| 安陆市| 苍梧县| 曲麻莱县| 大同县| 武鸣县| 海南省| 桂阳县| 洱源县| 闵行区| 平泉县| 昆山市| 唐海县| 赞皇县| 名山县| 绿春县| 祁东县| 准格尔旗| 同仁县| 济阳县| 新民市| 平顶山市| 阳高县| 承德市| 凤阳县| 上虞市| 临高县| 博乐市| 曲沃县| 吴川市| 临清市| 通河县|