("x10ab20c30y" ~~ /[0-9]+/).whole.map(Int).sum() # 60 arr = (~~)("x10ab20c30y", /[0-9]+/, true) arr .= map(F(elt) if elt is MatchY "[${elt.whole}]" else elt) arr.join("") # "x[10]ab[20]c[30]y"