如何使用s ///运算符将字符插入字符串?

bsr*_*uth 2 regex string perl

我正在尝试将注释字符插入到与此类似的字符串中:

-CreateVideoTracker VT1 "vt name"
Run Code Online (Sandbox Code Playgroud)

-CreateVideoTracker VT1 # "vt name"
Run Code Online (Sandbox Code Playgroud)

VT1字实际上可以是任何东西,所以我正在使用正则表达式

$line =~ s/\-CreateVideoTracker \w/\-CreateVideoTracker \w # /g;
Run Code Online (Sandbox Code Playgroud)

这给了我结果:

-CreateVideoTracker w #T1 "vt name"
Run Code Online (Sandbox Code Playgroud)

有没有办法用单个正则表达式做到这一点,还是我需要拆分字符串并手动插入注释?

Aln*_*tak 9

$line =~ s/^(\-CreateVideoTracker)\s+(\w+)/$1 $2 #/;
Run Code Online (Sandbox Code Playgroud)

正则表达式前半部分中的括号表达式(称为"捕获缓冲区")被引用为$1,$2.等等.下半场.