如何在emacs中删除正则表达式匹配文本?
如何在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将替换每场比赛,而不是在每次比赛时都要求输入. 对于特殊情况,当线的某一部分与正则表达式匹配时,你想要删除整行,还有删除匹配线及其邪恶的,穿着山羊胡子的双胞胎兄弟来自并行宇宙删除 – 不匹配 – 线. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |