原文鏈接:https://blog.csdn.net/CSDN_dzh/article/details/85010236
原文鏈接:https://www.jb51.net/tools/shell_regex.html
基本正則和擴展正則
正則表達式 |
描述 |
示例 |
\ |
轉義符 |
|
^ |
匹配行首 |
|
$ |
匹配行尾 |
|
. |
匹配除換行符\n之外的任意單個字符 |
|
[] |
匹配包含在[字符]之中的任意一個字符 |
|
[^] |
匹配[^字符]之外的任意一個字符 |
|
[-] |
匹配[]中指定範圍內的任意一個字符 |
|
? |
匹配之前的項1次或者0次 |
|
+ |
匹配之前的項1次或者多次 |
|
* |
匹配之前的項0次或者多次 |
|
() |
匹配表達式,創建一個用於匹配的子串 |
|
{n} |
匹配之前的項n次,n是可以爲0的正整數 |
|
{n,} |
之前的項至少需要匹配n次 |
|
{n,m} |
指定之前的項至少匹配n次,最多匹配m次,n<=m |
|
| |
交替匹配|兩邊的任意一項 |
|
元字符正則
正則表達式 |
描述 |
示例 |
\b |
單詞邊界 |
\bcool\b 匹配cool,不匹配coolant |
\B |
非單詞邊界 |
cool\B 匹配coolant,不匹配cool |
\d |
單個數字字符 |
b\db 匹配b2b,不匹配bcb |
\D |
單個非數字字符 |
b\Db 匹配bcb,不匹配b2b |
\w |
單個單詞字符 |
(字母、數字與_) \w 匹配1或a,不匹配& |
\W |
單個非單詞字符 |
\W 匹配&,不匹配1或a |
\n |
換行符 |
\n 匹配一個新行 |
\s |
單個空白字符 |
x\sx 匹配x x,不匹配xx |
\S |
單個非空白字符 |
x\S\x 匹配xkx,不匹配xx |
\r |
回車 |
\r 匹配回車 |
\t |
橫向製表符 |
\t 匹配一個橫向製表符 |
\v |
垂直製表符 |
\v 匹配一個垂直製表符 |
\f |
換頁符 |
\f 匹配一個換頁符 |
\0 |
空值符 |
|
命令 |
描述 |
grep |
默認不支持擴展表達式,加-E選項開啓 ERE。如果不加-E使用花括號要加轉義符{} |
egrep |
支持基礎和擴展表達式 |
awk |
支持egrep所有的正則表達式 |
sed |
默認不支持擴展表達式,加-r 選項開啓 ERE。 如果不加-r 使用花括號要加轉義符{} |