如何在emacs中使后向正则表达式搜索变得贪婪?
例如,我有abc 163439 abc我的缓冲区,我运行 M-x search-backward-regexp 以下正则表达式:163439\|3.这个正则表达式总是会在缓冲区中找到"3",但整个长整数都会更新.因为,当它开始搜索时,它首先会遇到'3'.在第二次尝试中,它将从数字内部的"3"的位置开始,并且将省略它.
如何找到最长和最接近的匹配?
所以我的意思是,当它遇到'3'时,我希望它检查匹配的部分是否不是更大匹配的一部分.
我不认为你能做你想做的事。
Emacs search-backward-regexp 搜索与正则表达式匹配的最接近的实例。这与贪婪无关(正则表达式中的贪婪是指当存在小星号运算符或其语法变体 ? 或 + 时匹配尽可能多的字符)。
在您的示例中,emacs 正确找到与您的正则表达式匹配的第一个实例。
--dmg