vim 和grep 正则表达式相似和区别
vim 和grep 正则表达式相似和区别
正则表达式由两种基本字符类型组成:原义(正常)文本字符和元字符。元字符使正则表达式具有处理能力。所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。
vim元字符 | grep 元字符 | 说明 |
^ | ^ | 匹配输入字符串的开始位置 |
$ | $ | 匹配输入字符串的开始位置 |
* | * | 匹配前面的子表达式0次或n次(n>0) |
\+ | \+ | 匹配前面的子表达式1次或n次(n>1) |
\? | \? | 匹配前面的子表达式0次或1次 |
\{n} |
\{n\} |
匹配确定的 n 次(n>=0) |
\{n,} | \{n,\} | 最少匹配n 次(∞>n>=0) |
\{n,m} | \{n,m\} | 最少匹配 n 次且最多匹配 m 次(n<m) |
\< | \< | 匹配单词词首 |
\> | \> | 匹配单词词尾 |
| | 或字符,如:x|y 匹配x或者y | |
[abc] | [abc] | 字符集合。匹配所包含的任意一个字符 |
[^abc] | [^abc] | 表示匹配除方括号中字符之外的任意字符。 |
[a-z] | [a-z] | 字符范围,匹配a-z任意字符 |
[^a-z] | [^a-z] | 表示匹配除方括号中a-z字符之外的任意字符。 |
\d | ----------- | 匹配一个数字字符。等价于 [0-9] |
\D | ----------- | 匹配非数字字符 |
\w | \w | 匹配0-9,A-Z,a-z |
\W | \W | 匹配非0-9,A-Z,a-z |