Использование capture
часто проще, чем использование match
. В вашем случае для изменения «целевых» значений будет достаточно, если в качестве входных данных используется массив объектов по линиям, предложенным во фрагменте:
map(.target |= (capture("https?(?<s>://[^/]*)") | "https" + .s))
Эквивалентное:
map(.target |= sub( "https?(?<s>://[^/]*).*"; "https" + .s) )