mu *_*ort 7

没有字符被替换,它只是num在开头插入制表符,所以你可以说它取代零宽度"行首"标记.无论是谁写的都会更好用更像这样的东西:

tabbed = "\t" * num + original
Run Code Online (Sandbox Code Playgroud)

正则表达式实际上不是简单字符串连接的正确工具.

澄清:如果您希望您的字符串包含多行,那么使用:

gsub(/^/, "\t" * num)
Run Code Online (Sandbox Code Playgroud)

使用制表符为所有行添加前缀是合理的事情,并且比分割,前缀和重新连接更少噪音.如果您只希望处理字符串中的单行,那么简单的字符串连接将是更好的选择.


ham*_*mar 5

^在正则表达式语法中表示"行首",因此这将num在每行的开头插入制表符.从技术上讲,你可以说它替换了每一行开头的空字符串.