Странное поведение в VIM с негативным взглядом
Итак, я делаю этот поиск в VIM:
/\(\(unum\)\|\(player\)=\)\@<!\"1\"
и, как ожидается, он не соответствует строкам, которые имеют:
player="1"
но соответствует строкам, которые имеют:
unum="1"
Что я делаю неправильно? Разве это не атом, отрицающий все это: \(\(unum\)\|\(player\)=\)
естественно просто занимаюсь /\(\(unum\)\|\(player\)=\)
Матчи unum=
или же player=
,
1 ответ
Решение
Ваш образец
\(
\(unum\)\|
\(player\)=
\)\@<!"1"
что эквивалентно
\(
\(unum\)\|
\(player=\)
\)\@<!"1"
И это должно быть
\(
\(unum\|player\)=
\)\@<!"1"
Просто удалите одну закрывающую и одну открывающую скобки.
И, писать \"
странно: в ситуациях, когда вам нужно сбежать "
Вы также должны избежать косой черты.