Regex 记事本++;计算每行字符串的出现次数,用于填充sql导入文件

Regex 记事本++;计算每行字符串的出现次数,用于填充sql导入文件,regex,notepad++,Regex,Notepad++,我有一个包含可变列的文件,我正在将其转换为SQL导入文件,或者csv文件 文件的设置如下所示: Account Source Source2 Source3 Source4 Source5 '39','39' '41','41' '67','67' '286','286' '299','299','2312210299' '307','307' '341','341' '349','349' '351','351' '359',

我有一个包含可变列的文件,我正在将其转换为SQL导入文件,或者csv文件

文件的设置如下所示:

    Account     Source    Source2    Source3    Source4    Source5              
'39','39'
'41','41'
'67','67'
'286','286'
'299','299','2312210299'
'307','307'
'341','341'
'349','349'
'351','351'
'359','359'
'362','362'
'363','363'
'378','378'
'511','511','6218','2197360511'
我试图使用Regex来查找每行中每个字符串的出现次数,这样我就可以使用
NULL
填充,但似乎无法正确执行

如果我搜索
“[0-9]\*”
,它会找到每个实例

如果我搜索
['[0-9]\*']\*$
,它将在每行中找到最后一个实例

如果我使用
'[0-9]\*'{2}$
,它找不到每行出现2次的,从我在网上找到的,这应该是语法


如果您能在这方面提供帮助,我们将不胜感激。

让我们了解一下为什么您尝试的方法首先不起作用

如果我搜索
“[0-9]*”
,它会找到每个实例

是的,这正是它应该做的;我相信你已经明白了

如果我搜索
['[0-9]*']*$
,它将在每行中找到最后一个实例

我不知道你要去哪里,方括号内的方括号是个糟糕的主意

如果我搜索
['[0-9]*']*$
,它将在每行中找到最后一个实例。如果我使用
'[0-9]*'{2}$
,它找不到每行出现两次的,根据我在网上找到的,这应该是语法

查看此操作不起作用的原因是,
'[0-9]*'{2}$
将背对背地匹配两个多位数(或者根本没有数字,因为您使用的是星号)。但是数据集中的数字由一个
分隔,
必须考虑到这一点。Regex是一个显式工具

您要做的是-
^(“[0-9]*”,?){2}$

请注意,捕获组中存在可选的
。上面的正则表达式将匹配引号内有2个数字的行(或者根本没有数字,因为我们使用的是星号,所以只有一个
),由
分隔

这是我的建议


我不确定这是否是您想要的,如果不是,请将其注释下来,我将编辑答案以提供更多内容。

您希望提取和/或匹配什么?您想做什么?你期待什么?谢谢Chase,我正试图找出如何将逗号合并到搜索中,但是我的数据的最后一个实例没有逗号,而且,好吧,我对regex是新手,还没有完全了解整件事。