正則表達式和擴展正則表達式的區別
其實兩者的區別就是元字符的不同
正則表達式符號及作用
符號 | 作用 |
---|---|
^ | ①在[] 外表示以某個字符開頭,在[]內表示除去哪些字符 |
$ | 表示以某個字符結尾 |
. | 表示匹配一個且只匹配一個字符 |
* | 表示匹配前邊一個字符出現0次或者多次 |
[] | 表示匹配括號內的多個字符信息,一個一個匹配 |
.* | 表示匹配所有 |
[^] | 表示不匹配括號內的每一個字符 |
^$ | 表示匹配空行信息 |
\ | 俗稱撬棍,將有特殊含義的字符轉義爲通配符 |
擴展正則符號
符號 | 作用 |
---|---|
+ | 表示前一個字符出現一次或一次以上 |
? | 表示前一個字符出現0次或者一次以上 |
丨 | 表示或者的關係,匹配多個信息 |
() | ①匹配一個整體信息 ②還可以接後項引用 |
{} | 定義前邊字符出現幾次 |
還有需要注意的是
grep -E 或者egrep只是表示擴展正則不代表加了e就表示轉義了
當grep使用擴展正則的符號時候需要用\轉義爲通配符才能使用.
notice: 正則中.*表示匹配所有,空行也會進行匹配