Как автор этой строки, я могу перевести.Сложные регулярные выражения часто доступны только для записи, и это зависит от расширения регулярных выражений vim.
Цель этого состоит в том, чтобы убедиться, что он не выполняет замену \
на довольно напечатанный λ
в середине оператора, подобного \\
.
Он проверяет, чтобы убедиться, что символ, который предшествует нам в буфере, не является допустимым символом оператора (значение всего, вплоть до \@<=
).\@<=
- это «просмотр совпадения нулевой ширины», который успешен только в том случае, если материал слева от него происходит, но не включает его в полученное совпадение.
И затем \([^...]\)
Часть проверяет, чтобы убедиться, что материал, который следует за нами, также не является символом, и в этом случае мы сопоставляем его, а затем включаем его в вывод благодаря \1
в результате.
Обратите внимание, это не идеально.К сожалению, он все равно заменит обратную косую черту внутри строк, но работает довольно хорошо.