PowerShell:
Використання регулярних виразів
Як це робити:
У PowerShell ви можете використовувати оператори -match, -replace і -split, серед інших, для виконання дій з регулярними виразами. Давайте розглянемо кілька прикладів:
Використання -match для перевірки, чи рядок відповідає шаблону
Цей оператор повертає $true, якщо шаблон знайдено у рядку, і $false в протилежному випадку.
"hello world" -match "\w+orld"
# Вивід: TrueВитягування співпадінь
Ви можете витягти значення, що співпало, звертаючись до автоматичної змінної $matches.
if ("I have 100 apples" -match "\d+") {
"Знайдено число: " + $matches[0]
}
# Вивід: Знайдено число: 100Використання -replace для замін
Оператор -replace замінює всі випадки відповідності шаблону на заданий рядок заміни.
"foo bar baz" -replace "ba[rz]", "qux"
# Вивід: foo qux quxРозбиття рядків за допомогою -split
Розбиває рядок на масив підрядків на основі шаблону regex.
"The quick-brown_fox jumps" -split "[-_ ]"
# Вивід: The quick brown fox jumpsПросунуте зіставлення шаблонів
PowerShell також підтримує більш складні операції з регулярними виразами через клас [regex], надаючи доступ до методів на кшталт Matches(), Replace(), і Split().
[regex]::Matches("June 24, August 9, Dec 12", "\b[A-Za-z]+\b").Value
# Вивід: June August Dec
[regex]::Replace("100,000", "\B(?=(?:\d{3})+(?!\d))", ",")
# Вивід: 100,000
[regex]::Split("one,two;three four", ",|;| ")
# Вивід: one two three fourЦі приклади демонструють силу та різноманітність регулярних виразів у PowerShell для маніпуляції даними та зіставлення шаблонів. Використовуючи regex, програмісти можуть ефективно проводити складну обробку тексту.