regex - 如何使用 s///运算符将字符插入到字符串中?

标签 regex perl string

我正在尝试将注释字符插入类似于以下内容的字符串中:

-CreateVideoTracker VT1 "vt name"

成为

-CreateVideoTracker VT1 # "vt name"

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

$line =~ s/\-CreateVideoTracker \w/\-CreateVideoTracker \w # /g;

这给了我结果:

-CreateVideoTracker w #T1 "vt name"

有什么方法可以用一个正则表达式来做到这一点,还是我需要拆分字符串并手动插入注释?

最佳答案

$line =~ s/^(\-CreateVideoTracker)\s+(\w+)/$1 $2 #/;

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

关于regex - 如何使用 s///运算符将字符插入到字符串中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/284722/

相关文章:

c - 在 C 中减少十六进制格式以外的二进制数

java - 如何生成给定语言/区域设置的随机字符串

regex - 用于匹配 or 的正则表达式

perl - Scalar::Util Looks_like_number返回数字类型

python - 识别正则表达式匹配的前缀

arrays - Perl 将哈希值数组输出为表

perl - 复制一个目录及其所有内容的功能?

c - 用 C 处理 microhttp 服务器中的 POST 数据

java - 从剪贴板匹配反斜杠 (\) 时出错

python - 告诉一个原始字符串(r '') from a regular string ('')?