正则表达式的分组捕获和引用无效的问题

先上截图: 屏幕截图 2023-09-14 041817

测试文本:

abc
abc
abd
abc

图中起始光标在 abd 的行首,期望是能够匹配到 当前行的abd和下一行的abc,但是实际上只能匹配到2行abc。 请问各位大神如何解决这个问题?

group 1 匹配到內容是 abc,当然 \1 也只会匹配到 abc

要么你是想 abc^Jabcabc^Jabd 都要,那么就写 \(ab\(c\|d\)\)^J\(ab\(c\|d\)\)

要么你就是只想要第二行和第一行不一样的匹配,那 Emacs 的正则是实现不了的。

2 个赞

Emacs的正则好像也没实现向前查看和向后查看。就是只确认一下前后字符串是否符合,但不包含在匹配结果中。这个还挺有用的,每次想用结果用不了就很蛋疼