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

如何在emacs中删除正则表达式匹配文本?

发布时间:2020-12-14 02:29:36 所属栏目:百科 来源:网络整理
导读:如何在emacs中删除一些与正则表达式匹配的文本? 我认为使用: ‘(query-replace-regexp PATTERN EMPTY) 和: ‘(replace-regexp PATTERN EMPTY) 但他们扔了: perform-replace:无效的正则表达式:“正则表达式的过早结束”. 通常,您可以删除与给定正则表达
如何在emacs中删除一些与正则表达式匹配的文本?

我认为使用:

‘(query-replace-regexp PATTERN EMPTY)

和:

‘(replace-regexp PATTERN EMPTY)

但他们扔了:

perform-replace:无效的正则表达式:“正则表达式的过早结束”.

通常,您可以删除与给定正则表达式匹配的文本,方法是使用空字符串“”替换您提到的两个函数.但是,正如上面评论中提到的其他人一样,您的正则表达式有问题.

例如,如果您的缓冲区包含以下文本:

1. My todo list
1.1. Brush teeth
1.2. Floss
2. My favorite movies
2.1. Star Wars episodes 4-6

并且你想摆脱每行开头的数字,你可以将光标放在缓冲区的开头,然后输入MC-%(也就是说,你按下一次:ALT,CTRL,Shift,5)调用命令query-replace-regexp.您将在迷你缓冲区中询问两个参数,首先是匹配的正则表达式而不是替换字符串.
因此,在我们的示例中,您可以使用以下正则表达式:

([0-9].)+s-

作为第一个参数,只需按ENTER键输入第二个参数,即不指定任何替换参数.这样,替换是空字符串:你替换任何与正则表达式匹配的东西.

如果要替换它或者如果要跳过它,query-replace-regexp将以交互方式询问每个匹配项.这是query-replace-regexp中的“查询”部分,看看你想出的正则表达式是否与你的想法相匹配是有帮助的.如果你确定它,你可以输入!使Emacs无需每次都询问而替换剩余的匹配.

如果您使用M-x replace-regexp而不是M-C-%Emacs将替换每场比赛,而不是在每次比赛时都要求输入.

对于特殊情况,当线的某一部分与正则表达式匹配时,你想要删除整行,还有删除匹配线及其邪恶的,穿着山羊胡子的双胞胎兄弟来自并行宇宙删除 – 不匹配 – 线.

(编辑:李大同)

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

    推荐文章
      热点阅读