Використання регулярних виразів

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