介紹
正則表達(dá)式(Regual Expression)使用一類特殊字符以及文本字符來描述某些字符串匹配規(guī)則的工具,在linux當(dāng)中主要用于:grep(搜索) 、sed(編輯)、 awk(格式化輸出) 。
分類
- 基本正則表達(dá)式(BRE)
- 擴(kuò)展正則表達(dá)式(ERE)
基本正則表達(dá)式符號
| 符號 | 作用 |
|---|---|
^ |
行首定位符,^a表示匹配以a開頭的 |
$ |
行尾定位符,a$表示匹配以a結(jié)尾的 |
. |
匹配任意一個字符,不能匹配空行 |
* |
匹配前一個字符0-N次 |
[abc] |
匹配集合里的任意一個字符,a或者b或者c。[a-z]小寫字母,[A-Z]大寫字母,[0-9]數(shù)字。 |
[^abc] |
除了a,b,c以外的其他字符 |
\ |
轉(zhuǎn)移字符,讓特殊字符失去特殊的含義,當(dāng)成普通文本顯示 |
擴(kuò)展正則表達(dá)式符號
| 符號 | 作用 |
|---|---|
+ |
匹配前一個字符1-N次 |
? |
匹配前一個字符0-1次| |
| 和 ()
|
圓括號表示一組可選值,| 是 or的意思,(ha|ba|fa),匹配ha or ba or fa |
{n,m} |
匹配前面一個字符n 到 m 次,a{n}匹配前一個字符n次,a{n,}最少n次,a{,m}最多m次 |
Perl正則表達(dá)式符號
| 符號 | 作用 |
|---|---|
\d |
匹配0-9之間的任意一個字符,相當(dāng)于[0-9] |
\D |
匹配非數(shù)字 |
\s |
匹配任何空白字符,包括空格、制表符、換頁符等 |
\S |
匹配非空白字符 |