regex - Emacs交互式正则表达式替换

标签 regex emacs replace

假设您在其中包含一些带有以下单词的文本:

"foo" ... "bar" ... "file" ... "emacs"

而您要做的就是用“”替换“。我知道仅要求以下替换就可以完成:
" -> ''

但是,假设您想使用正则表达式进行交互操作,对于更复杂的情况,该如何完成?

我会更好地解释自己:我希望我可以有一个命令或一系列命令以这种方式工作:
  • 编写一个类似于"\\(.*?\\)"的正则表达式,然后以交互方式查看结果(即,在编辑正则表达式时会突出显示当前可见的匹配项,并且突出显示的内容会在进行更改时始终更新)。
  • 一旦对正则表达式满意,请指定一个替代项,例如' '\1' '
  • 交互式替换所有匹配项
  • 最佳答案

    终于我找到了!
    这些是要遵循的步骤:

  • M-x isearch-forward-regexp
  • 以交互方式插入您的正则表达式。如果输入有误,则可以使用DEL或M-e并通过正则表达式进行更正。
  • 然后,找到所需内容后,立即按M-%和所需的替换项,然后开始替换。

  • 因此,您可以以完全交互和增量的方式搜索并替换为regex。

    关于regex - Emacs交互式正则表达式替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11134436/

    相关文章:

    regex - 匹配字符(如果存在),否则继续

    linux - Emacs 不会退出

    emacs - 删除文本属性似乎不影响 `display` 文本属性

    python - 将字典中的所有替换正则表达式应用到给定文本的最快方法

    javascript - 连接正则表达式

    c# - 字符串索引和替换

    php - 必须有一个更好的正则表达式

    python - 匹配 python 正则表达式中的嵌入换行符

    emacs - 我无法初始化 swank 和 clojure-jack-in

    regex - Oracle - 为什么提供的正则表达式都不起作用?