国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux 正則表達式詳解

2024-08-28 00:03:34
字體:
來源:轉載
供稿:網友

一.linux文本查找命令

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

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

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

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

如下簡單的介紹grep命令:

語法格式:

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

用途:

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

options:

-E : 使用擴展正則表達式進行匹配, grep -E 或取代 egrep 命令。

-F : 使用固定字符串進行匹配, grep -F 或取代傳統的fgrep命令。

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

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

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

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

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

-q : 靜默的,如果匹配成功,不將匹配的行輸出到標準輸出;否則即是不成功。

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

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

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

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

二.正則表達式簡要介紹

1.正則表達式的組成

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

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

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

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

/   :  通常用于打開或關閉后續字符的特殊含義,如/(.../)與/{.../}

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

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

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

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

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

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

/{n,m/} : 區間表達式,匹配在它前面的單個字符重現的次數區別。/{n/}指重現n次;/{n,m/}指重現n至m次;

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

/n : 重復在/(與/)方括號內第n個子模式至此點的模式。

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

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

+ : 匹配前面正則表達式的一個或多個擴展

? : 匹配前面正則表達式的零個或一個擴展

| : 匹配|符號前或后的正則表達式

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

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

4.1.字符集  [:  :]

標識字符集,有如下幾種:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吉首市| 沁阳市| 五河县| 新河县| 龙山县| 政和县| 互助| 天峻县| 尚志市| 武安市| 特克斯县| 玉山县| 仙桃市| 石林| 苏州市| 阿坝| 蒙山县| 西充县| 和林格尔县| 崇仁县| 玛多县| 江永县| 汉川市| 普宁市| 凤山市| 武宣县| 奇台县| 盖州市| 罗源县| 游戏| 泌阳县| 察雅县| 黔江区| 敖汉旗| 霍州市| 陵水| 河南省| 沙雅县| 石棉县| 东乡县| 辽宁省|