正则表达式主要是用于描述字符排列和匹配模式的一中语法规则。它主要用于字符串的模式分割、匹配、查找及替换,最主要的目的就是用于匹配。
通配符:
* - 匹配任意内容
? - 匹配任意一个字符
[] - 匹配括号内的内容
正则表达式用来在文件中匹配符合条件的字符串,是包含匹配。
通配符用来匹配符合条件的文件名,是完全匹配。
grep、awk、sed等命令可以支持正则表达式。
ls、find、cp等命令不支持正则表达式,因此只能使用shell自己的通配符来进行匹配。
一般匹配形式列举如下:
* | 前一个字符匹配0次或任意多次 |
. | 匹配除了换行符外任意一个字符 |
^ | 匹配行首 |
$ | 匹配行尾 |
[] | 匹配中括号中任意一个字符,即只要有一个字符满足就可以列出 |
[^] | 匹配除中括号的字符以外的任意一个字符 |
\ | 转义符 |
\{n\} | 表示其前面出现的字符恰好出现n次,最好在前后加上限定字符,否则很难准确匹配。 |
\{n,\} | 表示其前面出现的字符出现不小于n次,实际上上一个匹配形式跟这个几乎是一样的 |
\{n,m\} | 表示其前面出现的字符不少于n次,不多于m次。 |
正则表达式在初学一门语言的时候都会比较麻烦,所以多上手操作才能比较好的熟悉。