regex复制一个单词并添加额外文本

regex复制一个单词并添加额外文本,regex,notepad++,Regex,Notepad++,我有一长串要复制的单词 范例 CallDateTime WebDateTime WavName Dnis Verified Concern ConcernCode 我试图理解一些正则表达式来复制每个单词,并将其放到右边,同时添加一些所需的文本 's/(\t+)_(\w+)/\u\2, \u\1, \0/' 嗯。。这不起作用,这是所需的预期输出 @CallDateTime = i.CallDateTime, @WebDateTime = i.WebDateTime, 等等 显然,用@添加^w

我有一长串要复制的单词

范例

CallDateTime
WebDateTime
WavName
Dnis
Verified
Concern
ConcernCode
我试图理解一些正则表达式来复制每个单词,并将其放到右边,同时添加一些所需的文本

's/(\t+)_(\w+)/\u\2, \u\1, \0/'
嗯。。这不起作用,这是所需的预期输出

@CallDateTime = i.CallDateTime,
@WebDateTime = i.WebDateTime,
等等

显然,用@添加^with和$with很容易,但我也想用正则表达式进行复制

我见过这个

 ((\w+)_(\w+))
Replace Pattern:
\3, \2, \1

但是我不明白….

让我们用记事本++来解决这个问题:

查找内容:
(\w+)

替换为:
@\1=i.\1,

说明:

  • \w+
    匹配一个或多个单词字符
  • (…)
    是一个捕获组。您可以在更换零件中用
    \1
    引用它
  • 替换:文字
    @
    ,然后是捕获的单词,然后是空格,等等

搜索
+
并将其替换为
@$0=i.$0,
应该可以完成这项工作

替换:
\b(\w+)\b

通过
@\1=i.\1


Javascript代码:

var str=“CallDateTime\nWebDateTime\nAvName\nDnis\nVerified\nConcern\nConcernCode”;
str=str.replace(/\b(\w+)\b/g',@$1=i.$1');

console.log(str)添加预期结果的示例。请更新标记以反映您使用的语言。为预期的输出添加一个示例也会很有帮助。@CallDateTime=i.CallDateTime,这与聪明无关。我刚刚花了很多时间来摆弄正则表达式……这里不需要使用捕获组。将
\w+
替换为
@$0=i.$0,
其中
$0
代表整个比赛。@HimBromBeere我用要点2解释说:
(…)
是一个捕获组。您可以在更换零件中用
\1
引用它