TLDR
OKな例
(?<!head_)tail
NGな例
[^_]tail
簡単な解説
head_tailとtailの二つの文字列があった場合、VSCodeの検索機能でtailだけを検索・置換したい。普通の検索では両方とも選んでしまうので、正規表現を用いる。
OK
(?<!□)は否定的後読みであり、その中に書かれた文字列が前に来ると検索にかからないようになっている。この方法だと正常にtailを選択することができる。
NG
[]は角かっこの中に含まれる文字のいずれか1文字に該当するものを選択する。したがって、[^_]は一文字として扱われるため、[^_]tailは"tailや[tailのように先頭に一文字余計に選択してしまうため、不適
参考リンク
https://qiita.com/souhei-etou/items/8b801279dfc711179a45
https://nymemo.com/phpcate/293/