Linux(14)-正则表达式
生活随笔
收集整理的這篇文章主要介紹了
Linux(14)-正则表达式
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
正則表達(dá)式
- demo1:在某個文件中尋找命令sed
- demo2:尋找8位電話號碼
正則表達(dá)式:用來描述或者匹配某一系列符合某個句法隊(duì)則的字符串或者單個字符串。
最初正則表達(dá)式,出現(xiàn)在自動控制理論和形式化語言理論中。
Linux 中 find grep sed ls命令都支持正則表達(dá)式,vim, Emacs編輯器,shell編程都支持正則表達(dá)。
demo1:在某個文件中尋找命令sed
# grep <字符串> <文件名> > <輸出文件名> grep "sed" ./learn.sh > ./sed_command.txt # 所有包含“sed”的行 grep "\bsed\b" ./learn.sh > ./sed_command.txt # 以"sed"作為單個單詞的行注:> 可以將輸出到屏幕上的內(nèi)容 輸出 到文件中(覆蓋緣由輸出),>> 追加輸出
\b被稱為元字符,其他元字符列表:
| . | 匹配任意字符 |
| \w | 匹配字母數(shù)字下劃線漢字 |
| \s | 匹配任意空白符號 |
| \d | 匹配數(shù)字 |
| \b | 匹配單詞的開始\結(jié)尾 |
| ^ | 匹配行首 |
| $ | 匹配行尾 |
| \W | 匹配不是字母數(shù)字下劃線漢字 |
| \S | 匹配任不是空白符號 |
| \D | 匹配不是數(shù)字 |
| \B | 匹配不是單詞的開始\結(jié)尾 |
| [^x] | 匹配不是x的字符 |
| [^xyz] | 匹配不是x且不是y且不是z的字符 |
| * | 重復(fù)0次或者更多次 |
| + | 重復(fù)1次或者更多次 |
| ? | 重復(fù)0次或者一次 |
| {n} | 重復(fù)n次 |
| {n,} | 重復(fù)n次或者更多次 |
| {n,m} | 重復(fù)n次到m次 |
go*gle–ggle(0次),gogle(1次),google(2次)
demo2:尋找8位電話號碼
grep "\D\d\d\d\d\d\d\d\d\d" diary.txt grep "\D\d{8}\D" diaty.txt # \d 重復(fù)8次 grep "\D\d{4}[-\s]\d{4}\D" # []表示或總結(jié)
以上是生活随笔為你收集整理的Linux(14)-正则表达式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL -通过调整索引提升查询效率
- 下一篇: Linux下开发常用的CVS使用手册