HOME 生活记录运维/编程
作者/来源:yixinu.com
栏目:运维/编程
日期:2015-06-18 12:02:41

使用正则表达式最常用的命令:

:s///g  搜索和替换

元字符


元字符 说明

. 匹配任意一个字符

[abc] 匹配方括号中的任意一个字符。可以使用-表示字符范围,

如[a-z0-9]匹 配小写字母和阿拉伯数字。

[^abc] 在方括号内开头使用^符号,表示匹配除方括号中字符之外的任意字符。

\d 匹配阿拉伯数字,等同于[0-9]。

\D 匹配阿拉伯数字之外的任意字符,等同于[^0-9]。

\x 匹配十六进制数字,等同于[0-9A-Fa-f]。

\X 匹配十六进制数字之外的任意字符,等同于[^0-9A-Fa-f]。

\w 匹配单词字母,等同于[0-9A-Za-z_]。

\W 匹配单词字母之外的任意字符,等同于[^0-9A-Za-z_]。

\t 匹配字符。

\s 匹配空白字符,等同于[ \t]。

\S 匹配非空白字符,等同于[^ \t]。

另外,如果要查找字符 *、.、/等,则需要在前面用 \ 符号,表示这不是元字符,而只是普通字符而已。

元字符 说明

\* 匹配 * 字符。

\. 匹配 . 字符。

\/ 匹配 / 字符。

\\ 匹配 \ 字符。

\[ 匹配 [ 字符。

表示数量的元字符

元字符 说明

* 匹配0-任意个

\+ 匹配1-任意个

\? 匹配0-1个

\{n,m} 匹配n-m个

\{n} 匹配n个

\{n,} 匹配n-任意个

\{,m} 匹配0-m个

表示位置的符号

元字符 说明

$ 匹配行尾

^ 匹配行首

\< 匹配单词词首

\> 匹配单词词尾


替换变量

在正规表达式中使用 \( 和 \) 符号括起正规表达式,即可在后面使用\1、\2 等变量来访问 \( 和 \) 中的内容。

使用例

/\(a\+\)[^a]\+\1 " 查找开头和结尾处a的个数相同的字符串,

" 如 aabbbaa,aaacccaaa,但是不匹配 abbbaa

:s/\(http:\/\/[-a-z\._~\+%\/]\+\)/<a href="\1">\1<\/a>/ " 将URL替换为<a href="http://url">http://url</a>的格式

:s/\(\w\+\)\s\+\(\w\+\)/\2\t\1 " 将 data1 data2 修改为 data2 data1


与Perl正则表达式的区别

Vim语法 Perl语法 含义
\+ + 1-任意个
\? ? 0-1个
\{n,m} {n,m} n-m个
\(和\) (和) 分组
分享到:

Copyright © 2013-2014 yixinu.com 湘ICP备14004402号

QQ:316686606  Email: 316686606@qq.com