RE 字符express |
意義與範例ide |
+spa |
意義:重複『一個或一個以上』的前一個 RE 字符orm 範例:搜尋 (god) (good) (goood)... 等等的字符串。那個 o+ 表明『一個以上的 o 』因此,底下的執行成果會將第 1, 9, 13 行列出來。視頻 egrep -n 'go+d' regular_express.txt字符串 |
?get |
意義:『零個或一個』的前一個 RE 字符同步 範例:搜尋 (gd) (god) 這兩個字符串。那個 o? 表明『空的或 1 個 o 』因此,上面的執行成果會將第 13, 14 行列出來。有沒有發現到,這兩個案例( 'go+d' 與 'go?d' )的結果集合與 'go*d' 相同?想一想看,這是爲何喔! ^_^it egrep -n 'go?d' regular_express.txtio |
| |
意義:用或( or )的方式找出數個字符串 範例:搜尋 gd 或 good 這兩個字符串,注意,是『或』!因此,第 1,9,14 這三行均可以被打印出來喔!那若是還想要找出 dog 呢? egrep -n 'gd|good' regular_express.txt egrep -n 'gd|good|dog' regular_express.txt |
() |
意義:找出『羣組』字符串 範例:搜尋 (glad) 或 (good) 這兩個字符串,由於 g 與 d 是重複的,因此,我就能夠將 la 與 oo 列於 ( ) 當中,並以 | 來分隔開來,就能夠啦! egrep -n 'g(la|oo)d' regular_express.txt |
()+ |
意義:多個重複羣組的判別 範例:將『AxyzxyzxyzxyzC』用 echo 叫出,而後再使用以下的方法搜尋一下! echo 'AxyzxyzxyzxyzC' | egrep 'A(xyz)+C' 上面的例子意思是說,我要找開頭是 A 結尾是 C ,中間有一個以上的"xyz"字符串的意思~ |