关于vim:oeasy教您玩转vim-35-正则表达

34次阅读

共计 1274 个字符,预计需要花费 4 分钟才能阅读完成。

查找进阶

回顾上节课内容🤔

  • 实时搜寻 :set incsearch
  • 大写小写 ignorecase
  • 查找以后单词

    • * 正向按单词
    • # 反向按单词
    • g* 正向不按单词
    • g# 反向不按单词
  • 持续查找

    • n 放弃方向
    • N 改变方向
  • 这个搜寻能够做一些含糊匹配吗?
  • 应该在哪里查问呢?

模式匹配

  • :h / 能够找到对于搜寻相干的帮忙

    • 咱们能够关上 patterns.txt
    • 找到对于比较简单的解释 03.9 的超链接地位
    • ctrl + ] 跳转文档

行头行尾

  • /include 匹配所有的 include
  • ^ 意味着行结尾

    • /^include 只匹配 include 在行头的
    • /^# 只匹配 # 在行头的
  • $ 意味着行结尾

    • /the.$ 只匹配 the. 在行尾的
    • /^End$ 匹配行头接着 End,而后就是行尾的一行
  • :g/^$/d 删除所有空行
  • 行头行尾和词头词尾很像
  • ^ 自身就是跳到行头
  • $ 自身就是跳到行尾

任意字符

  • . 能够匹配任意字符,作为通配符来应用
  • 比方 /c.m

    • 第一个字符为 c
    • 第二个字符为 . 就是任意字符
    • 第三个字符为 m
  • 能够匹配 company 中的 com
  • 也能够匹配 camera 中的 cam

任意字符

  • ter. 匹配 ter 前面加一个字符

  • 如果想要失常匹配一个真的 .

    • 就要加上一个反斜杠 \
    • 写做 \.
    • 应用反斜杠 \ 本义之后

      • . 就不再代表任意字符了
      • 比方搜寻 /ter\. 就是寻找 ter.

更多字符

  • . 代表任意字符

    • /c.m 匹配 c 和 m 两头有一个字符 的状况
    • /c..m 匹配 c 和 m 两头有两个字符 的状况
    • /c...m 匹配 c 和 m 两头有三个字符 的状况
  • 如果我想查找 c 和 m 两头有任意多个字符怎么办?

    • 应用 * 通配符
    • /a* 意味着呈现 0 到任意多个 a

      • /c.*mcm 两头呈现 0 到任意多个 .(任意字符)
      • 如果我心愿呈现任意屡次的是小写字母怎么办?

        • /c[a-z]*m 这样就是两头呈现任意多个 [a-z] 小写字母
  • :g/^s*$/d 删除搜有只有空格和 tab 的行

    • s 代表空格和 tab

词头词尾

  • ^$ 别离代表着行头和行尾
  • 再回一下词头词尾
  • 如果我想找出单词的结尾结尾是某些字符的怎么办呢?

  • \< 意味着单词结尾

    • /\<a 意味着 a 结尾的单词
  • \> 意味着单词结尾

    • /\>b 意味着 b 结尾的单词
  • \<a[a-z]*\>b

    • 意味着以 a 结尾,b 结尾,ab 之间可能有零到任意多个字符的单词

搜寻历史

  • 咱们应用 *# 查找的时候就主动给加上这个词头词尾

    • 能够 * 之后
    • /
    • 配合高低方向键看到
    • 已经的搜寻记录

举荐网站

  • 举荐一个好玩的网站
  • https://blog.robertelder.org/…
  • 能够可视化的察看正则匹配的过程

总结

  • 行头行尾

    • ^ 意味着行结尾
    • $ 意味着行结尾
  • 任意字符

    • . 代表任意字符
    • [a-z] 代表任意小写字母
  • 字符数量

    • * 代表 0 到任意多个前字符
    • + 代表 1 到任意多个前字符
    • ? 代表 0 或 1 个前字符
  • 行头行尾

    • \< 意味着单词结尾
    • \> 意味着单词结尾
  • 正则表达式的初步规定先介绍到这里
  • 咱们把握了在 vi 中光标静止的各种办法
  • 但如何编辑文本呢?🤪
  • 下次再说 👋

[Github 地址] (https://github.com/overmind19…)
[Gitee 地址] (https://gitee.com/overmind198…)
[蓝桥实验楼 邀请码 FJWYIMGB] (https://www.lanqiao.cn/course…)

正文完
 0