如何使用Emacs正则表达式匹配模式后的行的部分

时间:2011-08-01 13:19:34

标签: regex emacs elisp

如何在以下行中匹配单词dog和cat。

The dog

The cat

该行开头的单词(“The”)保持不变。 单词“dog”和“cat”会发生变化,这就是要匹配的单词。

正则表达式应匹配单词“The”之后的单词,而不是“The”。

2 个答案:

答案 0 :(得分:5)

这应该是你想要的:

The \(\w+\)

The之后的单词就是\1组。

在elisp中

(replace-regexp "\\(\\w+\\)" "\\1")

答案 1 :(得分:2)

Emacs regexp没有零宽度断言,因此如果对模式至关重要,就不能避免匹配前面的文本。

当然,您可以使用分组来隔离您感兴趣的匹配字符串部分(根据Michael Markert的回答)。