VIM正则表达式的懒惰模式】的更多相关文章

例如有如下一段话: Another whale sighting occurred on , <2004>. AK and HI 要匹配每一个<...>,如果用<.>匹配,则匹配到的目标是, <2004>,也就是尽量大的匹配范围,要将匹配模式改为尽量小(即懒惰模式),需要用{-}代替,即写成<.{-}>,就可以达到目标了.…
正则表达式中用于表示匹配数量的元字符如下: ? 重复0次或1次,等同于{0,1} * 重复0次或更多次,等同于{0,} + 重复1次或更多次,等同于{1,} {n,} 重复n次及以上 上面的表示匹配次数的元字符分为贪婪型和懒惰型2种类型.其表达式分别如下. 贪婪型      懒惰型 * *? + +? {n,}  {n,}? 贪婪型的匹配会去抓取满足匹配的最长的字符串,这个也是正则表达式的默认的模式.当我们不需要最长的匹配的时候就需要使用懒惰模式. 关于贪婪型和懒惰型的举例如下: 元字符'*'的…
http://www.cnblogs.com/penseur/archive/2011/02/25/1964522.html 毋庸多言,在vim中正则表达式得到了十分广泛的应用. 最常用的 / 和 :s 命令中,正则表达式都是不可或缺的. 下面对vim中的正则表达式的一些难点进行说明. 关于magic vim中有个magic的设定.设定方法为: :set magic " 设置magic         :set nomagic " 取消magic               :h ma…
毋庸多言,在vim中正则表达式得到了十分广泛的应用. 最常用的 / 和 :s 命令中,正则表达式都是不可或缺的. 下面对vim中的正则表达式的一些难点进行说明. 关于magic vim中有个magic的设定.设定方法为: :set magic " 设置magic :set nomagic " 取消magic :h magic " 查看帮助 vim毕竟是个编辑器,正则表达式中包含的大量元字符如果原封不动地引用(像perl 那样), 势必会给不懂正则表达式的人造成麻烦,比如 /f…
vim正则表达式(转) Vim中的正则表达式功能很强大,如果能自由运用,则可以完成很多难以想象的操作. 如果你比较熟悉Perl的正规表达式,可以直接参照与Perl正则表达式的区别一节. 一.使用正则表达式的命令 使用正则表达式的命令最常见的就是 / (搜索)命令.其格式如下: /正则表达式 另一个很有用的命令就是 :s(替换)命令,将第一个//之间的正则表达式替换成第二个//之间的字符串. :s/正则表达式/替换字符串/选项 在学习正则表达式时可以利用 / 命令来练习. 二.元字符 元字符是具有…
转自:https://www.ibm.com/developerworks/cn/linux/l-cn-vimcolumn/ 张 曜民 和 卢 丹2011 年 2 月 18 日发布 WeiboGoogle+用电子邮件发送本页面 3 开始之前 人类大脑对文字的处理是平面式的,所以我们浏览文章.查找资料或者重构代码,要么是横向读,要么是纵向读,要么使用搜索功能,将文字作为一个平面整体.而在编辑文字.编写代码的时候则不是横向就是纵向.常规文本编辑器都是横向编辑,而纵向编辑也常被作为特色功能.比如 Vi…
https://www.ibm.com/developerworks/cn/linux/l-cn-vimcolumn/ 开始之前 人类大脑对文字的处理是平面式的,所以我们浏览文章.查找资料或者重构代码,要么是横向读,要么是纵向读,要么使用搜索功能,将文字作为一个平面整体.而在编辑文字.编写代码的时候则不是横向就是纵向.常规文本编辑器都是横向编辑,而纵向编辑也常被作为特色功能.比如 Vim.EditPlus.UltraEdit 这些编辑器都有纵向编辑模式,或者称为列模式.像日常文字处理工具 Mic…
如果要我选一个Vim中让我觉得Life Changing功能的话,我一定会选Vim的块编辑功能,也就是Ctrl+V,虽然还有些别的编辑器也有这功能,但目前为止,我从中受益颇大 原文地址:技巧:Vim 的纵向编辑模式 Vim 的纵向编辑模式功能强大.本文介绍了 Vim 纵向编辑模式并结合 VisIncr 这个插件在开发测试场景中的应用,让读者更直观了解 Vim 的纵向编辑模式这一功能. 开始之前 人类大脑对文字的处理是平面式的,所以我们浏览文章.查找资料或者重构代码,要么是横向读,要么是纵向读,要…
转载自:http://www.xuebuyuan.com/806332.html:个人进行了一些修正和添加. 下面我们对 VIM 正则表达式进行介绍并会显示指出其与 Perl 正则的不同之处. 字符集 . 匹配任意一个字符 \w 匹配单词字母,等同于[0-9A-Za-z_]. \W 匹配单词字母之外的任意字符,等同于[^0-9A-Za-z_]. \t 匹配字符. \a 所有的字母字符. 等同于[a-zA-Z] \e \t \r \b \d 数字 [0-9] \D 非数字 [^0-9] \x 十六…
通常理解[\s\S]*?X (X代表任意指定字符) 表示匹配任何字符的懒惰模式,一旦遇到后面出现的X便停止匹配,但实际不是如此,会尽可能的把后面的内容也匹配进去.如: 表达式 <tr[\s\S]*?>\s*<td>[\s\S]*?</td>\s*<td>[\s\S]*?</td>\s*</tr> 本来想匹配如下<tr></tr>之间的内容, <tr style="text"> &…