Как сопоставить часть строки после шаблона с помощью регулярного выражения Emacs - PullRequest
0 голосов
/ 01 августа 2011

Как сопоставить слова «собака» и «кошка» в следующих строках.

The dog

The cat

Слово в начале строки («The») остается тем же.Слова «собака» и «кошка» изменяются, и это слово для сравнения.

Регулярное выражение должно соответствовать слову после слова «The», но не «The».

Ответы [ 2 ]

5 голосов
/ 01 августа 2011

Это должно вам понадобиться:

The \(\w+\)

Слово после The - это группа \1.

В элиспе это

(replace-regexp "\\(\\w+\\)" "\\1")
2 голосов
/ 01 августа 2011

Регулярные выражения Emacs не содержат утверждений нулевой ширины, поэтому вы не можете избежать сопоставления с предыдущим текстом, если это критично для шаблона.

Конечно, вы можете использовать группирование, чтобы выделить интересующие вас части совпадающей строки (согласно ответу Майкла Маркерта).

...