`
姜太公
  • 浏览: 74893 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

VIM中的正则表达式

阅读更多

 

记性不好,才一段时间不用发现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正则表达式中,它并没有特殊含义。 - `.`:匹配任何...

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

    ### VIM正则表达式查找替换详解 #### 一、VIM正则表达式的特性 在探讨具体的查找替换示例之前,我们先来了解一下VIM中正则表达式的几个重要特性,这对于理解和应用正则表达式至关重要。 1. **特殊符号的转义**: ...

    精通正则表达式&正则表达式经典实例

    9. **实例应用**:正则表达式广泛应用于文本编辑器(如vim、emacs)、编程语言(如JavaScript、Python、Java)和搜索引擎(如grep、findstr)。例如,用于验证邮箱格式、手机号码、提取URL等。 通过《精通正则...

    正则表达式大全(超好)

    4. **vi/vim**:vi编辑器中的替换命令`:%s/pattern/replacement/g`允许用户使用正则表达式进行全局替换。 5. **Editplus**:在文本编辑器Editplus中,正则表达式可以用于查找和替换功能,提高文本处理效率。 三、...

    正则表达式及其巧妙运用

    - **文本编辑器**(如 Vim):提供了基础的正则表达式支持,可用于查找和替换文本。 - **grep**:一个强大的命令行工具,用于搜索文件中的模式。 - **sed**:一个流编辑器,常用于文本文件的自动化处理。 - **awk**...

    pcre正则表达式库

    这个库由Philip Hazel开发,它的设计目标是尽可能地兼容Perl语言中的正则表达式语法和行为。由于其强大的功能、出色的性能以及广泛的语言支持,PCRE在各种软件和系统中被广泛应用。 1. **PCRE特点** - **兼容性**...

    正则表达式辅助软件大全

    在Vim中,你可以使用正则表达式进行查找、替换和编辑操作。例如,`/pattern` 用于向前查找匹配`pattern`的文本,`\=`前缀可以用于执行一个表达式替换,这允许你在替换命令中使用复杂的正则表达式。此外,Vim的可视...

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

    3. 特殊字符:在正则表达式中,一些字符具有特殊含义,如`.`(匹配任意字符,除了换行符)、`^`(匹配行首)、`$`(匹配行尾)等。要匹配这些特殊字符本身,需使用反斜杠`\`进行转义,如`\.`匹配点号,`\^`匹配开始...

    精通正则表达式

    - 在正则表达式中,某些字符有特殊含义,如果要匹配这些字符本身,需要在前面加上反斜杠 `\` 进行转义,如`\(`、`\)`、`\*`等。 3. **分组与捕获** - `( )`用于创建分组,可以将多个字符视为一个整体,便于重复...

    正则表达式书籍

    11. **实际应用**:书中可能涵盖如何在各种编程语言(如Python、Java、JavaScript)中使用正则表达式,以及在文本编辑器(如vim、emacs)或命令行工具(如grep、sed)中的应用。 12. **调试与测试**:介绍如何使用...

    正则表达式测试软件

    - 元字符如 `.`, `*`, `(`, `)` 在正则表达式中具有特殊含义,如果要匹配这些字符本身,需要使用反斜杠 `\` 进行转义,例如 `\.` 匹配实际的句点字符。 3. **分组与引用** - `( )` 用于创建分组,可以捕获和重用...

    运维看家本领之一:Shell脚本编程与正则表达式

    在Shell脚本中,正则表达式可以与grep、sed、awk等工具结合使用,进行文本的搜索、提取和替换操作。 在Linux系统管理中,Shell脚本与正则表达式的能力不可小觑。熟练运用这些工具,可以极大地提高日常工作的效率,...

    正则表达式基础

    - **普通字符**:包括字母、数字等,它们在正则表达式中表示自身。 - **元字符**:具有特殊含义的字符,用于构造更复杂的匹配规则。 ##### POSIX RE的元字符及其含义 1. **用于方括号之外的元字符** - **^**:...

    大有可为的“正则表达式”(一).docx

    正则表达式广泛应用于各种编程语言和工具中,如grep、sed、awk、Perl以及现代的IDE和文本编辑器(如vim、emacs)。 正则表达式的语法是其核心所在。以下是一些基本的元字符及其含义: 1. `^`:锚点,表示匹配字符...

    正则表达式30分钟入门教程

    - **文本编辑器**:如Vim、Sublime Text等,使用正则表达式进行查找和替换。 - **编程语言**:Python、Java、JavaScript等都内置了正则表达式支持。 - **Web开发**:HTML表单验证、URL路由、服务器端脚本处理等。...

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

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

    正则表达式chm系统教程(一个)

    9. **在不同环境中的应用**:讲解如何在各种编程语言(如Python、JavaScript、Java等)或工具(如grep、sed、vim等)中使用正则表达式。 10. **高级主题**:可能包括正则表达式的回溯机制、后向引用、条件匹配、非...

Global site tag (gtag.js) - Google Analytics