0

正規表現で vim を使用するのは初めてで、.csv ファイル内の特定のエントリをカウントする必要があります。エントリは次の形式になっています。

9,1,8-Mar-11,high,A2,mid,500,1000,0.143494345,0.153521446,1121.386992,409.6833333,,
9,2,8-Mar-11,high,A2,mid,500,1000,0.180015537,0.256840072,1190.977918,420.8229933,1,
9,3,8-Mar-11,high,A2,mid,500,1000,0.250273568,0.16378268,1061.417761,419.1692065,,1

2011 年 3 月 8 日の A2 状態で、行末に,,または,1 (,|1)またはがあるものの数を数える必要があります。(,|1),1

これは、カウントデータを取得するためにvimで使用する正規表現です。

:%s/.*8-Mar-11.*A2.*,,1$//gn

私が知りたいのは、vimでどちらかを使用する方法はありますか? お気に入り:

:%s/.*8-Mar-11.*A2.*,1\(,|1\)//gn

どんなアドバイスや助けも大歓迎です!

4

2 に答える 2

2

VIM 正規表現は奇妙で紛らわしいものです。|as \|for またはをエスケープする必要があります

于 2012-08-23T00:23:17.463 に答える
1

ある文字または別の文字を検索する正規表現を作成している場合、パイプを使用した代替はやり過ぎです。代わりに文字クラスを使用します。

:%s/.*8-Mar-11.*A2.*,1[,1]//gn
于 2012-08-23T03:25:34.000 に答える