0

所以,我在 vim 中做这个搜索:

/\(\(unum\)\|\(player\)=\)\@<!\"1\"

正如预期的那样,它与具有以下内容的行不匹配:

player="1" 

但匹配具有以下内容的行:

unum="1" 

我究竟做错了什么?不是所有这些都被否定的原子:\(\(unum\)\|\(player\)=\)

自然只是做:/\(\(unum\)\|\(player\)=\)匹配unum=player=

4

1 回答 1

5

你的模式是

\(
    \(unum\)\|
    \(player\)=
\)\@<!"1"

这相当于

\(
    \(unum\)\|
    \(player=\)
\)\@<!"1"

它必须是

\(
    \(unum\|player\)=
\)\@<!"1"

只需删除一个右括号和一个左括号。

而且,写作\"很奇怪:在你必须逃避的情况下,"你也需要逃避斜线。

于 2010-04-15T16:47:55.910 回答