`
iwebcode
  • 浏览: 2010223 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

VIM中的正则表达式

 
阅读更多

VIM中的正则表达式

转载:http://jjz.iteye.com/blog/387649

记性不好,才一段时间不用发现vim的东西忘的差不多了。要重新熟悉才行。现从正则表达式开始,用惯了JavaPython的正则表达式,再用Linux的正则表达式还真有点不习惯,而且grepvim的正则表达式有些微区别,grepegrep的正则表达式也有一点区别。用用之前要好好想想才行,太恶心了。

今天现把VIM的正则表达式整理一些,过几天整理grep的。(补充:grep的正则表达式在元字符方面和vi差不多,不整理了)

vim的正则表达式的有两种模式,magicnomagic,两种模式下,元字符是不一样的。可以通过set mogicset nomagic进行选择,默认是magic。建议不要乱设置,就用magic模式差不多。也可以再Pattern指定用magicnomagic,这里不废话了,下面列出常用的magic的表达式。

对前一个模式的次数匹配

\*

0到多次,尽可能多匹配

\+

1到多次,尽可能多匹配

\=

01次,尽可能多匹配

\?

01次,尽可能多匹配

\{n,m}

nm词,尽可能多匹配

\{n}

n次,尽可能多匹配

\{n,}

至少n次,尽可能多匹配

\{,m}

0m次,尽可能多匹配

\{}

0到多次,尽可能多匹配(和\*一样)

\{-n,m}

nm次,尽可能少匹配

\{-n}

n

\{-n,}

至少n次,尽可能少匹配

\{-,m}

至多m次,尽可能少匹配

\{-}

0到多次,尽可能少匹配

位置匹配

^

行开头

\_^

行开头

$

行末尾

\_$

行末尾

.

换行之外的任何字符

\_.

单个字符,包括换行符

\<

单词开始

\>

单词结束

\%^

文件开头

\%$

文件结束

\%V

可视化区域内部

\%#

光标位置

\%'m

标记点m,m可以自己定义的标记点(使用'm)

\%nl

匹配第n行,n是一个数字

\%nc

匹配第n列,n是一个数字

常用预定义字符

\i

标识符字符,如字母数字下划线等

\I

\i相似,但不包括数字

\f

文件名字符

\F

类似\f,但不包括数字

\p

可打印字符

\P

类似\p,但不包括数字

\s

空白字符

\S

非空白字符

\d

数字[0-9]

\D

非数字[^0-9]

\x

16进制字符[0-9a-fA-F]

\X

16进制字符

\o

八进制字符[0-7]

\O

非八进制字符

\w

字母[a-zA-Z_0-9]

\W

非字母

\h

单词开头字符,比\w少了数字

\H

非单词开头字符

\a

字母表字符[a-zA-Z]

\A

非字母表字符

\l

小写字母

\L

非小写字母

\u

大写字母

\U

非大写字符

\_x

X是上面字符中的一个,\_x\x多匹配一个换行符

\t

<Tab>

\n

换行符

\1 \2 \3

n个捕获的组\(\)

其他

\(\)

组捕获

\%(\)

非捕获组,和\(\)类似,但不捕获

\|

分支


分享到:
评论

相关推荐

    vim正则表达式的使用

    vim正则表达式的使用,轻松处理文本文件

    VIM正则表达式查找替换[PDF电子教程]

    VIM,很好很强大;正则表达式亦是如此。将两者有机结合起来,使工作效率更高。本教程面向正则表达式爱好者或有一定基础的VIM用户。非常之详细。

    Vim中查找替换及正则表达式的使用详解

    Vim中的正则表达式功能很强大,如果能自由运用,则可以完成很多难以想象的操作。下面这篇文章主要给大家介绍了关于Vim中查找替换及正则表达式使用的相关资料,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来...

    grep用法详解---grep与正则表达式

    首先要记住的是: 正则表达式与通配符不一样,它们表示的含义并不相同! 正则表达式只是一种表示法,只要工具支持这种表示法, ...vim、grep、awk 、sed 都支持正则表达式,也正是因为由于它们支持正则,才显得它们强大。

    grep用法详解 grep与正则表达式

    vim、grep、awk 、sed 都支持正则表达式,也正是因为由于它们支持正则,才显得它们强大;在以前上班的公司里,由于公司是基于web的服务型网站(nginx),对正则的需求比 较大,所以也花了点时间研究正则,特与大家分享...

    regex-cheatsheet:不同正则表达式语法的备忘单

    正则表达式语法备忘单 许多程序使用正则表达式来查找和替换文本。 然而,它们往往带有自己不同的风味。 您可能会期望大多数现代软件和编程语言都使用 Perl 风格的一些变体,“PCRE”; 然而,命令行工具(grep、...

    linux下关于正则表达式grep的一点总结

    正则表达式(Regular Expression)是用于描述一组字符串特征的模式,用来匹配特定的字符串。通过特殊字符+普通字符来进行模式描述,从而达到文本匹配目的工具。类似于生活中常见的寻人启示,通过描述一个人的特征来...

    vim-HideShow:基于正则表达式的交互式折叠

    隐藏显示.vim HideShow 可以轻松地将基于正则表达式的折叠应用于您的 vim 缓冲区。 例如,Java 源文件的简单折叠可能是: :Show \v (public|private|protected) :Show 和 :Hide 调用是累积的,因此以下三个 :Show ...

    vim编辑器中熟练掌握正则表示法

    熟练掌握正则表示法 简单地说,正则表示法就是处理字符串的方法,它以“行”为单位来进行字符串的处理。正则表示法透过一些特殊符号的辅助,可以让使用者轻易完成查找/删除/替换某些特定字符串...3.基础正则表达式的特

    VimRegexTutor:用于学习Vim中正则表达式的vimtutor克隆

    VimRegexTutor Vim编辑器用户的“动手”正则表达式教程。 小费如果您喜欢VimRegexTutor并想分享W00t !,我将感谢您提供的或。 项目页面 维护者巴里·亚瑟(Barry Arthur)&lt; &gt; 地位测试版,欢迎反馈改编自 大多数...

    vim-fnr:没有正则表达式的 Find-N-Replace 助手

    vim-fnr 在 Vim 中使用实时预览进行 Find-N-Replace(实验性)安装使用您最喜欢的插件管理器。 VIM-FNR需要 。 使用 : Plug ' junegunn/vim-pseudocl 'Plug ' junegunn/vim-fnr '用法正常模式&lt;Leader&gt;r&lt;Movement&gt; -...

    shell脚本之正则表达式、grep、sed、awk

    ^word ##搜索以word开头的 vi/vim中 ^ 一行的开头 word$ ##搜索以word结尾的 vi/vim中 $ 一行的结尾 ^$ ##表示空行 . ##代表且只能代表任意一个字符 \ ##例:\. 只代表点本身,转义符号,让有特殊身份意义的...

    txt2regex:终端的Regex向导,用Bash编写

    几乎不了解正则表达式的用户可以通过在基于文本的简单交互式界面中回答问题来快速创建毛状正则表达式。 Txt2regex知道许多不同的正则表达式风格的特殊符号和注意事项,可以为20多个目标生成有效的正则表达式,包括...

    Yankitute:正则表达式驱动的Yank +替代品

    但是,它没有像转换后的匹配项那样替换缓冲区中的文本,而是像yank一样将转换后的匹配项复制到寄存器中。 句法 语法类似于Vim的内置替代命令: :[range]Yankitute[register]/{pattern}/[string]/[flags]/[join] ...

    regular expression

    vim下的正则表达式,方面大工程下的脚本编程

    学习vi和vim编辑器_第7版_中文+英文_PDF

    ·使用Vim的扩展文本对象以及威力强大的正则表达式 ·执行多窗口编辑,并设计Vim脚本 ·充分利用图形化用户界面版的Vim,gvim ·使用Vim的强化功能,例如语法高亮显示及扩展标签 ·Vim与其他三种vi同类品的比较...

    incsearch.vim:改进了Vim的增量搜索

    增量正则表达式编辑在增量搜索中,您可以一次看到给定正则表达式匹配的所有模式。用法安装Neobundle / Vundle / vim插件NeoBundle ' haya14busa/incsearch.vim 'Plugin ' haya14busa/incsearch.vim 'Plug ' haya14...

    Linux常用命令及操作技巧汇总

    同时VIM与很多快捷键设置和正则表达式类似,可以辅助记忆。2)文本与文件查找:grep和find命令将会很便利。3)系统管理篇:服务状态的查询命令,服务配置文件的缩写,访问控制方式分类以及源代码编译安装等。4)硬盘...

    学习VI和VIM编辑器第7版中文

    ·使用Vim的扩展文本对象以及威力强大的正则表达式 ·执行多窗口编辑,并设计Vim脚本 ·充分利用图形化用户界面版的Vim,gvim ·使用Vim的强化功能,例如语法高亮显示及扩展标签 ·Vim与其他三种vi同类品的比较...

Global site tag (gtag.js) - Google Analytics