Поиск в строке всех слов длиной не менее 6 символов

Рейтинг: -8Ответов: 1Опубликовано: 10.01.2023

Необходимо написать сценарий для поиска всех слов длиной не менее 6 символов в строке

Пример:

.\task5.ps1 "Tue Sep 15 2020 15:39:48 GMT+0300 (Belarus Local Time)"

Ожидаемый результат:

Belarus

Пробовал следующее:
через пробел разделить строку в массив и вывести только слова длиной более 6 символов. Что-то с синтаксисом не разобрался до конца

data = $args[0] 
$pattern = '\w*[ ():]\w*' 
$matches = [regex]::Matches($data, $pattern).Value 
$str5 = $matches[-1] -split {$_ -eq " "} -join "" $str5 | Where-Object { $_ -match "a-z" } | ForEach-Object{ Matches[0] } 
$str6 = $str5.GetEnumerator() | ? { $_.str5.Length -gt 2 } 
$str6

Ответы

▲ -1Принят

task5.ps1:

$matches = ([regex]'\w{6,}').Matches($args[0])
$matches.Value

Команда:

.\task5.ps1 "Tue Sep 15 2020 15:39:48 GMT+0300 (Belarus Local Time)"

Результат:

Belarus