У меня есть текстовый ввод, аналогичный показанному ниже. Я хотел бы добавить слово auto
перед каждым шаблоном 'a = b', но только если оно является частью последовательности, следующей за ключевым словом kywrd
(через точку с запятой).
kywrd a=b;c=d;
e=f;
fnctn z;
g=h;
Поэтому вывод, который я ищу здесь:
kywrd2 auto a=b;auto c=d;
auto e=f;
fnctn z;
g=h;
В приведенном ниже коде Perl6 (Raku?) Используется регулярное выражение для добавления ключевого слова auto
, но только до first a=b
шаблон. Есть ли простой способ выполнить подстановку для всех шаблонов в последовательности;оставив g=h;
неизменным?
my Str $x = slurp "in.q";
$x ~~ s:g /kywrd\s+(\w+)\=(\w+)\;/kywrd2 auto $0=$1\;/;
spurt "out.q", $x;