Никакой символ не подставляется, он просто вставляет num
вкладки в начале, чтобы вы могли сказать, что он заменяет маркер "начало строки" нулевой ширины.Кто бы ни написал это, было бы лучше с чем-то вроде этого:
tabbed = "\t" * num + original
Регулярное выражение действительно не подходит для простой конкатенации строк.
Уточнение: Если вы ожидаете, что ваша строка будет содержать несколько строк, тогда используйте:
gsub(/^/, "\t" * num)
для префикса всех строк с вкладками, это разумно и менее шумно, чем разделение, префикс и повторное соединение,Если вы ожидаете иметь дело только с одной строкой в вашей строке, тогда простая конкатенация строк будет лучшим выбором.