【正規表現】「○○○ではない」にマッチする正規表現
問題
「タブで始まらない行」の行頭に「・」をつけたいんですけど、正規表現を使った置換でできますか?
答え
以下のようなテキストがあるとき
AAA 123円 BBB 234円 CCC 456円
以下のような正規表現が「タブが続かない行頭」にマッチするので、
^(?!\t)
よくあるテキストエディタでは、以下のような正規表現を使った置換で、行頭に「・」が付けられる。
^(?!\t) → ・
結果
・AAA 123円 ・BBB 234円 ・CCC 456円
「数字で始まらない行の行頭」なら以下のように書ける。
^(?!\d)
vimの置換では否定先読みなどは以下のように書くため、
肯定先読み:\@= 否定先読み:\@! 肯定後読み:\@<= 否定後読み:\@<!
以下のように書く。
%s/^\(\t\)\@!/・/
コメント