Regex perl一行程序在正则表达式匹配中添加双引号

Regex perl一行程序在正则表达式匹配中添加双引号,regex,perl,Regex,Perl,有没有一种方法可以提供一个perl一行程序来执行以下操作? 为所有匹配的字符串添加缺少的双引号“ "DNR for ABC-FULL*" 发件人: 致: 见演示 您需要使用捕获组或\K $ perl -pe 's/(,"DNR for ABC-FUL[^"]*),/\1",/g' file (NULL,137,"DNR for ABC-FUL11002,576","Crane, IN",207,NOW(),1,1), (NULL,137,"DNR for ABC-FUL11003,577","

有没有一种方法可以提供一个perl一行程序来执行以下操作? 为所有匹配的字符串添加缺少的双引号

"DNR for ABC-FULL*"
发件人:

致:

见演示


您需要使用捕获组或
\K

$ perl -pe 's/(,"DNR for ABC-FUL[^"]*),/\1",/g' file
(NULL,137,"DNR for ABC-FUL11002,576","Crane, IN",207,NOW(),1,1),
(NULL,137,"DNR for ABC-FUL11003,577","Crane, IN",208,NOW(),1,1),
(NULL,137,"DNR for ABC-FUL11004,578","Crane, IN",209,NOW(),1,1),
(NULL,137,"DNR for ABC-FUL11005,579","Crane, IN",210,NOW(),1,1),

(NULL,137,"DNR for JRE-FUL11002,576","Crane, IN",207,NOW(),1,1),
(NULL,137,"DNR for JRE-FUL11003,577","Crane, IN",208,NOW(),1,1),
(NULL,137,"DNR for JRE-FUL11004,578","Crane, IN",209,NOW(),1,1),
(NULL,137,"DNR for JRE-FUL11005,579","Crane, IN",210,NOW(),1,1),
(?<="DNR for )[^-]*(-[^,]*)
"DNR for \K[^-]*(-[^,]*)
$ perl -pe 's/(,"DNR for ABC-FUL[^"]*),/\1",/g' file
(NULL,137,"DNR for ABC-FUL11002,576","Crane, IN",207,NOW(),1,1),
(NULL,137,"DNR for ABC-FUL11003,577","Crane, IN",208,NOW(),1,1),
(NULL,137,"DNR for ABC-FUL11004,578","Crane, IN",209,NOW(),1,1),
(NULL,137,"DNR for ABC-FUL11005,579","Crane, IN",210,NOW(),1,1),
$ perl -pe 's/,"DNR for ABC-FUL[^"]*\K,/",/g' file
(NULL,137,"DNR for ABC-FUL11002,576","Crane, IN",207,NOW(),1,1),
(NULL,137,"DNR for ABC-FUL11003,577","Crane, IN",208,NOW(),1,1),
(NULL,137,"DNR for ABC-FUL11004,578","Crane, IN",209,NOW(),1,1),
(NULL,137,"DNR for ABC-FUL11005,579","Crane, IN",210,NOW(),1,1),