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, програмісти можуть ефективно проводити складну обробку тексту.