grep(Global search Regular Expression(RE) and Print out the line):是一個最初用於Unix操做系統的命令行工具。在給出文件列表或標準輸入後,grep會對匹配一個或多個正則表達式的文本進行搜索,並只輸出匹配(或者不匹配)的行或文本。正則表達式
grep命令格式:grep [OPTIONS] PATTERN [FILE...]編輯器
常見的參數有:ide
-i:匹配時忽略大小寫
工具
-v:顯示未匹配到的內容學習
-w:以單詞來匹配spa
--color=auto:匹配到的內容以紅色標示
操作系統
-o:僅顯示匹配到的部分,而不是顯示整個行
.net
grep命令的使用很簡單,最精華的也是最難的部分主要體如今正則表達式。命令行
正則表達式,又稱正則表達式、正規表示法、常規表示法(英語:Regular Expression,在代碼中常簡寫爲regex、regexp或RE),計算機科學的一個概念。正則表達式使用單個字符串來描述、匹配一系列符合某個句法規則的字符串。在不少文本編輯器裏,正則表達式一般被用來檢索、替換那些符合某個模式的文本。regexp
字符 | 描述 |
\ | 轉義字符 |
^ | 匹配行首 |
$ | 匹配行尾 |
* | 匹配其前的字符出現任意次 |
+ | 匹配其前的字符至少出現一次 |
? | 匹配其前的字符出現零次或一次 |
{n} | 匹配其前的字符重複n次 |
{n,} | 匹配其前的字符至少出現n次 |
{n,m} | 匹配其前的字符至少出現n次,至多出現m次 |
? | 其前字符非貪婪匹配 |
. | 任意單個字符 |
x|y | 匹配x或y |
[xyz] | 匹配所包含的任意一個字符 |
[^xyz] | 匹配未列出的任意字符 |
[a-z] | 匹配指定範圍內的任意字符 |
[^a-z] | 匹配任何不在指定範圍內的任意字符 |
\b | 詞首匹配 |
\d | 匹配一個數字字符 |
\n | 匹配一個換行符 |
\r | 匹配一個回車符 |
\t | 匹配一個製表符。等價於\x09和\cI。 |
\w | 匹配包括下劃線的任何單詞字符。等價於「[A-Za-z0-9_]」。 |
\W | 匹配任何非單詞字符。等價於「[^A-Za-z0-9_]」。 |
只有多加練習才能真正掌握正則表達式的用法。
推薦一個學習正則表達式的好去處:正則表達式30分鐘入門教程