正則表達式幾個常用的特殊字符!


^


^ 匹配一行的開頭,例如:

[root@hadoop101 datas]$ cat /etc/passwd | grep ^a

會匹配出所有以a開頭的行

$


$ 匹配一行的結束,例如

[root@hadoop101 datas]$ cat /etc/passwd | grep t$

會匹配出所有以t結尾的行

.


. 匹配一個任意的字符,例如

[root@hadoop101 datas]$ cat /etc/passwd | grep r..t

會匹配包含rabt,rbbt,rxdt,root等的所有行

*


* 不單獨使用,他和上一個字符連用,表示匹配上一個字符0次或多次,例如

[root@hadoop101 datas]$ cat /etc/passwd | grep ro*t

會匹配rt, rot, root, rooot, roooot等所有行

[ ]


[ ] 表示匹配某個范圍內的一個字符,例如

[6,8]------匹配6或者8

[a-z]------匹配一個a-z之間的字符

[a-z]*-----匹配任意字母字符串

[a-c, e-f]-匹配a-c或者e-f之間的任意字符

[root@hadoop101 datas]$ cat /etc/passwd | grep r[a,b,c]*t

會匹配rat, rbt, rabt, rbact等等所有行

\


\ 表示轉義,並不會單獨使用。由於所有特殊字符都有其特定匹配模式,當我們想匹配某一特殊字符本身時(例如,我想找出所有包含 '$' 的行),就會碰到困難。此時我們就要將轉義字符和特殊字符連用,來表示特殊字符本身,例如

[root@hadoop101 datas]$ cat /etc/passwd | grep a\$b

就會匹配所有包含 a$b 的行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM