Проблема, с которой я сталкиваюсь - это ограничение Powershell для выполнения рекурсии.В традиционном программировании я мог искать шаблон регулярного выражения и передавать найденное значение в функцию, которая затем выполняла бы другое сопоставление и замену шаблона регулярного выражения, и возвращал родительской функции значение.
Проблема, с которой я столкнулсяявляется то, что у меня есть база данных контента, где есть URL, которые имеют пробелы и% 20.Мне нужно найти эти URL-адреса в теле текста, а затем заменить пробелы этих URL-адресов () и% 20 тире (-).
В PowerShell я бы сделал что-то вроде этого
$output = $bodyOfText -replace "\b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_ |$!:,.;]*[A-Z0-9+&@#/%=~_|$]", "[My URL OUTPUT]"
Хорошо, когда я запустил это, результат будет [My URL OUTPUT] везде, где в тексте есть URL.Как вы можете видеть, мне нужен другой уровень -replace, где я бы взял выходные данные первого -replace и произвел поиск пробелов и% 20 и заменил их на дефис (-).