VI常用正则

常用的正则表示的元符号

$       匹配一行的结束
^       匹配一行的开始
\<      匹配一个单词的开始
\>      匹配一个单词的结束

*       匹配0或多次
\+      匹配1或多次
\=      匹配0或1次

\a      匹配一个字符
\d      匹配任一数字     
\u      匹配任一大写字母

[]      匹配范围,如t[abcd]s 匹配tas tbs tcs tds
\{}     重复次数,如a\{3,5} 匹配3~5个a
\( \)   定义重复组,如a\(xy\)b 匹配ab axyb axyxyb axyxyxyb ...
\|      或,如:for\|bar 表示匹配for或者bar

\%20c   匹配第20列
\%20l   匹配第20行

其次,应用案例
    1 在11到20行的行首插入注释符#
       :11,20s/^/#/g
    2 在5~10行的第3列插入字母e
       :5,10s/\%3c/e/g

### Vi 编辑器中正则表达式匹配的使用方法 在 Vi/Vim 编辑器中,正则表达式的功能非常强大,可以用来高效地查找和替换文本。以下是关于如何在 Vi 中利用正则表达式进行匹配的具体说明。 #### 基本语法 Vi 的命令模式下可以通过 `/` 或 `?` 来执行基于正则表达式的搜索操作。其中: - `/pattern/` 表示向前搜索指定的模式。 - `?pattern?` 则是从当前位置向后搜索指定的模式。 例如,在文件中查找以单词 `word` 结尾的所有行,可输入以下命令[^1]: ```bash /word$ ``` 此命令会高亮显示所有以 `word` 字符串结束的行。 #### 替换操作中的正则表达式应用 除了简单的搜索外,还可以通过 `:s` 命令实现复杂的替换操作。假设需要将每行的第一个捕获组(由 `\(...\)` 定义)替换为 `<H$1>` 形式,则可以在 Vi 中运行如下命令[^2]: ```vim :%s/\(.*\)/<H\1>/ ``` 上述命令的作用是对整个文档 (`%`) 进行全局替换,`\1` 是指代第一个捕获组的内容。 #### 高级技巧 为了进一步提高编辑效率,掌握一些更高级的功能是非常有帮助的。比如,熟悉元字符的意义及其组合方式能够构建更加精确的匹配条件[^3]。下面列举几个常用的元字符以及它们的应用场景: | 元字符 | 描述 | |--------|--------------------------| | `.` | 匹配任意单个字符 | | `*` | 匹配前面元素零次或多次 | | `^` | 匹配行首 | | `$` | 匹配行尾 | 此外,值得注意的是,现代文本编辑器如果没有集成正则表达式的支持,其功能性将会大打折扣[^4]。因此学习并熟练运用这些技能对于日常开发工作来说至关重要。 ```python # 示例 Python 脚本展示简单正则匹配逻辑 import re text = "This is a sample line with word at the end." match_result = re.search(r'word$', text) if match_result: print("Match found!") else: print("No match.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值