正则表达式和扩展正则表达式的区别
其实两者的区别就是元字符的不同
正则表达式符号及作用
符号 | 作用 |
---|---|
^ | ①在[] 外表示以某个字符开头,在[]内表示除去哪些字符 |
$ | 表示以某个字符结尾 |
. | 表示匹配一个且只匹配一个字符 |
* | 表示匹配前边一个字符出现0次或者多次 |
[] | 表示匹配括号内的多个字符信息,一个一个匹配 |
.* | 表示匹配所有 |
[^] | 表示不匹配括号内的每一个字符 |
^$ | 表示匹配空行信息 |
\ | 俗称撬棍,将有特殊含义的字符转义为通配符 |
扩展正则符号
符号 | 作用 |
---|---|
+ | 表示前一个字符出现一次或一次以上 |
? | 表示前一个字符出现0次或者一次以上 |
丨 | 表示或者的关系,匹配多个信息 |
() | ①匹配一个整体信息 ②还可以接后项引用 |
{} | 定义前边字符出现几次 |
还有需要注意的是
grep -E 或者egrep只是表示扩展正则不代表加了e就表示转义了
当grep使用扩展正则的符号时候需要用\转义为通配符才能使用.
notice: 正则中.*表示匹配所有,空行也会进行匹配