是什么
用于描述字符排列和匹配模式的一種語法規(guī)則。他主要用于字符串的模式分割,匹配,查找和替換。
正則表達(dá)式與通配符
通配符
- * 匹配任意內(nèi)容
- ? 匹配任意一個(gè)內(nèi)容
- [] 匹配括號(hào)中的一個(gè)字符
正則表達(dá)式
| 元字符 | 作用 |
|---|---|
| * | 前一個(gè)字符匹配0次或任意多次 |
| . | 匹配除了換行符外的任意一個(gè)字符 |
| ^ | 匹配行首 |
| $ | 匹配行尾 |
| [] | 匹配中括號(hào)中指定的任意一個(gè)字符,只匹配一個(gè)字符 |
| [^] | 匹配除中括號(hào)中的字符以外的任意一個(gè)字符 |
| 轉(zhuǎn)義符。 | |
| \{n\} | 表示其前面的字符恰好號(hào)出現(xiàn)n次,配合定界符使用 |
| \{n,\} | 表示其前面的字符出現(xiàn)不少于n次 |
| \{n,m\} | 表示其前面的字符至少出現(xiàn)n次,最多出現(xiàn)m次。 |
# 匹配所有內(nèi)容
.*
# 匹配在s和d之間有任意字符
s.*d
# 匹配空白行
^$
# 查找不用數(shù)字開頭的行
grep "^[^0-9]$" a.txt
# 查找使用.結(jié)尾的行
grep "\.$" a.txt
正則表達(dá)式與通配符
- 正則表達(dá)式用來在文件中匹配合符合條件的字符串,正則是包含匹配。grep,awk,sed等命令可以支持正則表達(dá)式。
- 通配符用來匹配符合條件的文件名,通配符時(shí)完全匹配。ls、find、cp這些命令不支持正則表達(dá)式,所以只能使用shell自己的通配符來進(jìn)行匹配。