Как создать регулярное выражение из пяти символов для сопоставления с определенным текстом?

Как можно преобразовать строку "OU=MTS,OU=CORP,DC=CONTOSO,DC=COM" с использованием только метода -split на Perl-совместимой регулярной строке с пятью символами, чтобы получить вывод в виде строки "MTS", "CORP", "CONTOSO", "COM"?
  • 7 марта 2024 г. 11:38
Ответы на вопрос 2
1. Для создания регулярного выражения из пяти символов, которое будет сопоставляться с определенным текстом, можно использовать следующее выражение: /^.{5}$/.

2. Для преобразования строки "OU=MTS,OU=CORP,DC=CONTOSO,DC=COM" с использованием только метода -split на Perl-совместимой регулярной строке с пятью символами, чтобы получить вывод в виде строки "MTS", "CORP", "CONTOSO", "COM", можно воспользоваться следующим кодом:

```perl
my $string = "OU=MTS,OU=CORP,DC=CONTOSO,DC=COM";
my @result = $string =~ m/(\w{3})/g;
print join(", ", @result);
```

Этот код разбивает строку на слова длиной три символа и сохраняет каждое из них в массив @result. В итоге, используя функцию join, мы можем объединить элементы массива в одну строку с разделителем ", ".
Как то так 
$ou = "OU=MTS,OU=CORP,DC=CONTOSO,DC=COM"
$ou -split 'OU=|,DC=' | Select-Object -Skip 1 | ForEach-Object { $_.Trim(',') }
Похожие вопросы