Regex Vim中的正则表达式将计数为1或冒号

Regex Vim中的正则表达式将计数为1或冒号,regex,vim,Regex,Vim,我对将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.

我对将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
我需要计算11年3月8日A2条件的数量,这些条件在行尾有
,1(,| 1)
(,| 1),1

下面是我在vim中用来获取一些计数数据的正则表达式:

:%s/.*8-Mar-11.*A2.*,,1$//gn
我想知道的是,有没有一种方法可以在vim中使用这两种方法?比如:

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

非常感谢您的任何建议或帮助

VIM正则表达式既奇怪又混乱。您必须避开
,因为for or

\\124;
VIM正则表达式既奇怪又混乱。在编写搜索一个字符或另一个字符的正则表达式时,必须将
\
转义为
\\\\
或,使用管道进行替换是过分的。请改用字符类:

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

当您编写一个搜索一个或另一个字符的正则表达式时,使用管道进行交替是过分的。请改用字符类:

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

Vim正则表达式确实令人困惑,但您可以调整“magicness”的级别:哪些字符具有特殊含义<例如,code>\v允许您将
|
用作OR。有关更多信息,请参见
:help magic
。Vim正则表达式确实可能令人困惑,但您可以调整“magicness”的级别:哪些字符具有特殊含义<例如,code>\v允许您将
|
用作OR。有关更多信息,请参见
:help magic
。酷:-)。不要忘记将其中一个答案标记为“已接受”(单击分数旁边的概述复选框)酷:-)。不要忘记将其中一个答案标记为“已接受”(单击分数旁边的概述复选框)