`
jack_boy
  • 浏览: 138052 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

vim 非贪婪匹配

阅读更多
vim的模式匹配使用正则表达式
.*是贪婪匹配,会匹配最多的字符

如果要是非贪婪的匹配则要使用\{-}

一个例子如下:
msgid:[aaaaa-ffff-#abcdef-123456_id] #########################zzz-eee############
如果用msg.*-匹配会匹配到
msgid:[aaaaa-ffff-#abcdef-123456_id] #########################zzz-
但是我们只需要红色的部分,所以要一个非贪婪的方法
替换:%s/msgid.\{-}#.\{-}-//g
匹配 /msgid.\{-}#.\{-}-
分享到:
评论

相关推荐

    vim正则表达式的使用

    ### 非贪婪匹配 默认情况下,vim正则表达式的量词是贪婪的,即尽可能多地匹配字符。然而,通过在量词后添加`?`,可以将其转换为非贪婪模式,使得量词尽可能少地匹配字符。 ### 小贴士:快速映射 vim提供了强大的...

    大家来学VIM

    - **贪婪与非贪婪匹配**:默认情况下,`.*`尽可能多地匹配字符,使用`.*?`可实现非贪婪匹配。 #### 十五、折叠功能 - **手动折叠**:使用`zf`创建折叠,使用`zo`展开折叠,使用`zc`关闭折叠。 - **自动折叠**:...

    Best+of+VIM+Tips(译注).pdf

    这里的“<”和“>”分别匹配HTML标签的开始和结束,而“[^>]\+”匹配除“>”以外的一个或多个字符,表示非贪婪模式。 10. VIM的帮助系统: 在VIM中,可以通过输入“:help”命令后跟具体主题来查阅帮助文档。例如,...

    vim技巧大全

    - `:help { }` 可以查看vim的帮助文档,例如`:help non-greedy`获取关于非贪婪匹配的更多信息。 7. **搜索与导航**: - `/joe/e`、`/joe/e+1`、`/joe/s-2` 和 `/joe/+3` 用于在文档中精确定位。 - `/^joe.*fred....

    vim使用教程

    - **greedy陷阱**:解释贪婪匹配与非贪婪匹配的区别。 #### 十五、把Vim折叠(folding) - **手动折叠**:通过命令行手动创建折叠区域。 - **自动折叠**:根据不同的条件自动折叠代码块。 - **折叠的产生**:通过...

    精通正则表达式

    - 贪婪匹配会尽可能多地匹配字符,非贪婪匹配则尽可能少地匹配。默认情况下,量词是贪婪的,可以在量词后加`?`使其变为非贪婪。 7. **正则表达式引擎** - 有两种主要的正则表达式引擎实现:DFA(确定性有限自动机...

    regular expression

    - 匹配字符:`.` 代表任意单个字符,`\d` 匹配数字,`\D` 匹配非数字,`\w` 匹配字母数字或下划线,`\W` 则相反。 - 量词:`*` 表示前面的字符出现零次或多次,`+` 为一次或多次,`?` 为零次或一次,`{n}` 指定...

    pcre-8.12.tar.gz

    - 非贪婪匹配:默认的匹配方式是贪婪的,但可以通过问号(?)来实现非贪婪匹配,只匹配尽可能少的字符。 - 后向引用:可以在正则表达式的不同部分引用之前捕获的子模式。 - 正向和负向预查:可以检查某个位置之后...

    正则表达式测试软件

    贪婪模式默认尽可能多地匹配,非贪婪模式则尽可能少地匹配,可通过 `?` 改变量词的贪婪性,如 `.*?`。 7. **使用正则表达式测试软件** - 在正则表达式测试软件中,你可以输入正则表达式和测试文本,实时查看匹配...

    正则表达式

    - **\B**:匹配非单词边界。 6. **预定义字符类** - **\d**:匹配任何数字(等同于`[0-9]`)。 - **\D**:匹配任何非数字字符。 - **\s**:匹配任何空白字符,包括空格、制表符、换页符等。 - **\S**:匹配...

    正则表达式参考文档揭开正则表达式的神秘面纱

    4. 非贪婪匹配:默认情况下,量词尽可能多地匹配字符。加上问号`?`可使量词变为非贪婪,只匹配尽可能少的字符,如`a.*?b`匹配最短的'a'到'b'之间的内容。 三、正则表达式实现 不同的编程语言或工具可能对正则...

    30分钟明白正则

    - 使用括号`()`对子表达式进行分组,可以控制量词的作用范围,以及应用操作符如非贪婪匹配(`?`)。 - 通过预定义字符类如`\w`(等同于[a-zA-Z0-9_])和`\W`(非`\w`)可以快速匹配字母数字字符和非字母数字字符。 ...

    pcre正则表达式库

    - **多样性**:PCRE支持多种匹配模式,如贪婪匹配、非贪婪匹配、分支选择、回溯等,提供丰富的元字符和预定义字符类。 - **Unicode支持**:PCRE库可以处理Unicode字符集,允许进行宽字符匹配和分类。 - **嵌套子...

    正则表达式:深入理解与应用.zip

    - `\W`:匹配非单词字符,等价于`[^a-zA-Z0-9_]`。 3. **选择与或** - `|`:用于创建选择分支,例如`abc|def`匹配`abc`或`def`。 4. **预查和反向预查** - `(?:...)`:非捕获组,不存储匹配结果。 - `(?>...)`...

Global site tag (gtag.js) - Google Analytics