viで繰り返し文字の最後のパターンにマッチ
例えば、viで開いたファイルの中にリストアップされている、ファイル名の拡張子の文字だけを削除したい場合、ドットがファイル名にも存在している場合、最後のドット以降だけを認識させたい。
file.name.txt → file.name
そんな時、まず文字列マッチを確認してみると、下記の方法でviの検索で試してみる。
/.[^.]*$
この太文字の意味は、「ドット文字(.) で 次にドット文字を含まない([^.]) 以降どんな文字でもOK(*) で終わる($) 文字」
ドットは特殊文字なので、エスケープを付けて(\.)として、\.[^\.]*$ なのかと思ったが、どっちでもマッチした。◆印にキーとなる文字を書けば良い。◆[^◆]*$
例えば、下記の例:
置換をしてみると、まずは置換コマンドを打って、Enter。
↓置換された(最後のドット以下の文字を削除できた)
今度は最後の3という文字以降を認識させてみると以下のようになる。
ディスカッション
コメント一覧
まだ、コメントがありません