用于替换 Textpad 中每行第 n 次出现的单词的正则表达式

Regular expression to replace nth occurrence of a word on every line in Textpad

我有一个包含数千行的文件,其中包含以逗号分隔的列。

'one',2,'three','hello','xyz',5,'hello','mnr','hello','axi'
'onae',2,'tree','hello','xyz',6,'hello','mnr','hello','asd'
'onee',2,'xdsa','hello','xyz',5,'hello','mnr','hello','aew'
'owne',2,'thr','hello','xyz',3,'hello','mnr','hello','az'
'ocne',2,'tee','hello','xyz',5,'hello','mnr','hello','zse'
'owne',2,'tre','hello','xyz',2,'hello','mnr','hello','aai'

每行中的三列包含单词 'hello' 的值。

如何在 Textpad 中使用正则表达式将每行中第 2 次出现的单词 'hello' 替换为数字 0,以便这些行变为:

'one',2,'three','hello','xyz',5,0,'mnr','hello','axi'
'onae',2,'tree','hello','xyz',6,0,'mnr','hello','asd'
'onee',2,'xdsa','hello','xyz',5,0,'mnr','hello','aew'
'owne',2,'thr','hello','xyz',3,0,'mnr','hello','az'
'ocne',2,'tee','hello','xyz',5,0,'mnr','hello','zse'
'owne',2,'tre','hello','xyz',2,0,'mnr','hello','aai'   

使用此 regx 进行搜索:

(.*?'hello'.*?),'hello',(.*)

并替换为:

,0,

确保 DOTALL(点匹配换行符)选项已关闭。

RegEx Demo

我对 anubhava 的解决方案投了赞成票,因为这让我非常接近解决方案。

找到这个:

^(.*?'hello'.*?),'hello',

替换为:

,0,