Насколько я понимаю, вы sh разделите на пробелы следующие строки, состоящие из знака доллара, за которым следуют одна или несколько цифр, при условии, что за пробелами следует буква.
При установке perl = true
, вы будете использовать Perl движок регулярных выражений, который поддерживает \K
, что фактически означает отбрасывание всего подходящего. Поэтому вы можете использовать следующее регулярное выражение (с установленным флагом безразличного регистра):
\$\d+\K\s+(?=[a-z])
Демо
В некоторых случаях, как здесь, \K
может использоваться в качестве замены для вида сзади переменной длины. Увы, большинство движков регулярных выражений, включая Perl, не поддерживают просмотр за пределами переменной длины.