所以,我正在vim中进行搜索:
/\(\(unum\)\|\(player\)=\)\@<!\"1\"
并且正如预期的那样,它与以下行不匹配:
player="1"
但匹配包含以下内容的行:
unum="1"
我在做错了什么?不是所有这一切都要被否定的原子:\(\(unum\)\|\(player\)=\)
自然而然地做:/\(\(unum\)\|\(player\)=\)
匹配unum=
或player=
。
答案 0 :(得分:5)
你的模式是
\(
\(unum\)\|
\(player\)=
\)\@<!"1"
相当于
\(
\(unum\)\|
\(player=\)
\)\@<!"1"
一定是
\(
\(unum\|player\)=
\)\@<!"1"
只需删除一个结束括号和一个左括号。
而且,写\"
很奇怪:在你必须逃离"
的情况下,你也需要逃避斜线。