正規表達式的基本元素包括普通字元和元字元。元字元是掌握正規表達式的根本。
1、正規表達式元字元集合及其意義
符号 | 意義 |
* | 0個或多個在*字元之前的那個普通字元 |
. | 比對任意字元 |
^ | 比對行首,或後面字元的非 |
$ | 比對行尾 |
[] | 比對字元集合 |
\ | 轉義符,屏蔽一個元字元的特殊意義 |
\<\> | 精确比對符号 |
\{n\} | 比對前面字元出現n次 |
\{n,\} | 比對前面字元出現至少n次 |
\{n,m\} | 比對前面字元出現n~m次 |
2、正規表達式的擴充
awk和perl等linux工具支援正規表達式擴充出來的一些元字元
符号 | 意義 |
? | 比對0個或1個在其之前的那個普通字元 |
+ | 比對1個或多個在其之前的那個普通字元 |
() | 表示一個字元集和或用在expr中 |
| | 表示“或”,比對一組可選的字元 |
注:bash shell本身不支援正規表達式,使用正規表達式的是shell指令和工具,如grep、sed、awk等。但是bash shell可以使用通配符。
常用通配符及意義
符号 | 意義 |
? | 比對一個任意字元 |
* | 比對任意位的任意字元 |
[] | 表示一個字元集和或用在expr中 |
{} | 表示一組表達式的集合 |
^ | 取反 |
3、grep指令族簡介
grep:标準grep指令,支援基本正規表達式。
egrep:擴充grep指令,支援基本和擴充正規表達式。
fgrep:快速grep指令,不支援正規表達式,按照字元串的字面意思進行比對。