0
字符串:VIM搜索與支架符號
abc|c|xyz
模式:
|[^|]*
我希望這將只匹配 '| XYZ',但它匹配 '| C | XZY'。這是爲什麼?我的模式意味着「以'|'開頭並且任何後面的字符不能是'|'「。對?
字符串:VIM搜索與支架符號
abc|c|xyz
模式:
|[^|]*
我希望這將只匹配 '| XYZ',但它匹配 '| C | XZY'。這是爲什麼?我的模式意味着「以'|'開頭並且任何後面的字符不能是'|'「。對?
Vim不匹配「| c | xzy」有兩個單獨的匹配,「| c」和「| xyz」。您可以通過按n在它們之間跳轉來驗證。
看來你只想要最後一場比賽。您可以添加「$」,以確保您的模式只匹配行的末尾:
|[^|]*$
|[^|]*$
太棒了!有效。 – user697911
':match Foo/| [^ |] *'同時匹配'| c'和'| xyz'。由於他們是一個接一個,他們看起來像*一個*匹配,但他們實際上是兩個*。如果你做'/ | [^ |] *',光標將被放置在'| c'(第一個匹配)的'|'上並按'n'將會把你放在'| xyz '(第二場比賽)。 – romainl
感謝您的好解釋。 – user697911