正则表达式字符不同命令比较
|
grep |
egrep |
sed |
awk |
转义 |
\ |
\ |
\ |
\ |
行头 |
^ |
^ |
|
^ |
行尾 |
$ |
$ |
$ |
$ |
{m} {m,} {m,n} |
\{n\} |
{n} |
\{n\} |
awk使用—posix或—re-interval选项时,{n}可直接使用,若不使用该选项,则不能使用{n}这种模式,要表示{或}本身意义,可使用\\{或\\}来表示 |
{0,} |
* |
* |
* |
*或\*,(要表达*,得用\\*) |
{1,} |
\+ |
+ |
\+ |
+或\+,(要表达+,得用\\+) |
{0,1} |
\? |
? |
\? |
?或\?,(要表达?,得用\\?) |
任意字符 |
.(不含\n) |
.(不含\n) |
.(不含\n) |
. 含\n |
[ ] |
匹配包含在[字符]之中的任意一个字符 |
coo[kl]可以匹配cook或cool |
[^ ] |
匹配[^字符]之外的任意一个字符 |
123[^45]不可以匹配1234或1235,1236、1237都可以 |
[ - ] |
匹配[]中指定范围内的任意一个字符,要写成递增 |
[0-9]可以匹配1、2或3等其中任意一个数字 |
正则表达式实际就是一些特殊字符,賦予了他特定的含义 。
^word ##搜索以word开头的
word$ ##搜索以word结尾的
. ##点代表且只能代表任意一个字符
\ ##例 \. 转义符号,让有着特殊身份意义的字符,脱掉马甲,还原原型。
* ##重复0个或多个前面的一个字符,例o*匹配没有o,有一个o或多个 oooo
.* ##匹配所有字符。^.*以任意多个字符开头,.*$以任意多个字符结尾
[] ##字符集合的重复特殊字符的符号。
[root@NGINX-Y ~]# grep -n "[123]" 19
5: <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
[^word] ##匹配不包含^后的任意字符的内容。
a \{ n ,m \}重复 n 到 m 次,前一个重复的字符 。
\{ n , \} 重复至少 n 次,前一个重复的字符。
\{ n \} 重复 n 次,前一个重复的字符
##最多3次
^$ ##空行