vi正则表达式
author:李超
Date:2012/05/06
正则表达式属于3型文法,是基于有限自动机的一种实用工具,很少有单独的正则表达式产品,一般集成在其他产品中。如常用的编辑器vi,vim还有程序语言python,perl中都有正则表达式的出现。
正则表达式主要用来匹配文本,并对匹配的文本进行相关操作。编辑文本中最常用到的操作就是查找和替换。正则表达式可以很方便的实现在大量文本找到匹配于固定模式的串。
模式串本身是一个字符串,由正则表达式的元字符和普通字符构成,所以也会涉及到转义的问题。
vi正则表达式中常用到的元字符有:
元字符
| 功能
|
^
| 行首定位符 |
$
| 行尾定位符 |
.
| 匹配单个字符 |
*
| 对*前的字符进行0次或者多次匹配 |
[]
| 匹配[]内的任意字符 |
[x-y]
| 匹配从x到y这个区间内的任意字符 |
[^]
| 排除某些字符 |
\
| 用来对元字符进行转义 |
\<
| 词首定位符 |
\>
| 词尾定位符 |
\(..\)
| 指定标签 |
x\{m\}
| 对字符x匹配m次 |
x\{m,\}
| 对字符x匹配至少m次 |
x\{m,n\}
| 对字符x匹配至少m次,最多n次 |
当然vi中还提供了正则表达式的很多其他特性,但是使用以上的元字符足以应对一般的搜索替换问题了。