Closed KSR-Yasuda closed 1 year ago
:h non-greedy
の結果には しかし、早い位置でマッチするものが、短いマッチよりも優先されます。例えば、"a\{-}b" は "xaaab" の "aaab" にマッチします。
と書かれており、今回のケースは恐らくこれに該当する物だと思われます。
Vim に限らず他の多くの正規表現エンジンでも同じ仕様です。
括弧を結果に含めたくない場合には .\{-}
ではなく [^()]\{-}
などのように明示的に除外する必要があります。
なるほど、『X\{-}
で X
を見つけたら、そこから最短のマッチ を見つける』という仕様で、
行頭の (
からの最短 を見つけようとした、ということですね。
理解しました。
不具合の内容
RegExp 最小マッチ
.\{-}
に対して、 特定のパターンで 最小でないマッチ を拾ってくるケース があるようです。現象・ログ
上記の通り。
再現手順
上記の通り。
期待動作
上記の通り。
Vimのバージョン
OSの種類/ディストリ/バージョン
使用している or 関係していそうなプラグイン
特になし
その他
特になし