加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

正则表达式 – 在VIM中,为什么不在搜索和替换中添加’$’?

发布时间:2020-12-13 19:16:00 所属栏目:Linux 来源:网络整理
导读:我一直在学习如何在VIM中进行更复杂的搜索和替换功能,我遇到了这样一个用例: :%s/$/|/g 这应该找到每一行的结尾,并用垂直管道替换它.但是,当我第一次学习这个时,我假设您必须在替换字符串中添加行尾字符以获得预期结果.即, :%s/$/|$/g 为什么没有它仍然可以

我一直在学习如何在VIM中进行更复杂的搜索和替换功能,我遇到了这样一个用例:

:%s/$/|/g

这应该找到每一行的结尾,并用垂直管道替换它.但是,当我第一次学习这个时,我假设您必须在替换字符串中添加行尾字符以获得预期结果.即,

:%s/$/|$/g

为什么没有它仍然可以保持换行?它不应该用你的字符串替换行的终止字符并在过程中删除它吗?

可以用行尾字符^来询问同样的事情.

最佳答案
Anchor $不包含换行符.实际上它是一个零宽度令牌.它匹配字符串中第一个换行符之前的空字符.结果就是如此.

同样,^匹配字符串中第一个字符前的空字符.

有关详细信息,请参见http://www.regular-expressions.info/anchors.html.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读