Regex 使用记事本+;使用正则表达式在第n个逗号后开始搜索和替换+;

Regex 使用记事本+;使用正则表达式在第n个逗号后开始搜索和替换+;,regex,csv,delimiter,Regex,Csv,Delimiter,我有一个逗号分隔的txt文件,有没有一种方法可以让正则表达式只在第n个逗号之后(比如第3个逗号之后)进行搜索和替换 因此: data1,data2,data3,regex,can,start,search,and,replace,here 实际上我需要执行这个正则表达式 查找:,键1,[^,]* 替换:,0,0 我从中学到的 希望我只能在第n个逗号后执行相同的操作 谢谢 我不知道您正在使用什么风格的正则表达式,因此您可能需要对其进行一些修改(可能不使用括号),但您的正则表达式应该如下所示: ^(

我有一个逗号分隔的txt文件,有没有一种方法可以让正则表达式只在第n个逗号之后(比如第3个逗号之后)进行搜索和替换 因此:

data1,data2,data3,regex,can,start,search,and,replace,here

实际上我需要执行这个正则表达式

查找:
,键1,[^,]*

替换:
,0,0

我从中学到的

希望我只能在第n个逗号后执行相同的操作


谢谢

我不知道您正在使用什么风格的正则表达式,因此您可能需要对其进行一些修改(可能不使用括号),但您的正则表达式应该如下所示:

^([^,]*,){n,}key1,[^,]*
其中,
[^,]*,
匹配CSV中的一个字段及其后的逗号,
([^,]*,){n}
(用数字替换
n
)匹配该n次。例如,对于sed,您可以使用

sed 's/^\(\([^,]*,\)\{2\}\)key1,[^,]*,/\10,0,/' foo.csv
用第二个逗号后的
0,0
替换
key1,无论什么


如果您的意思是在第n个或后面的逗号之后,请使用
{n,}
而不是
{n}
(意思是“匹配n次或更多次)。

使用记事本++兄弟如何?不太熟悉“sed”我不熟悉记事本++,但是如果我正确阅读了他们的文档,第一个正则表达式应该可以工作。您尝试过吗?