PowerShellでのテキスト処理で、もっと効率良く抽出・置換したいと思ったことはありませんか?
そんなときに威力を発揮するのが**正規表現(Regex)**です。
ログ解析、ファイル名整形、データ抽出、フォーマット変換など、
業務効率が劇的に変わる超重要スキルです。
本記事では、PowerShell × 正規表現の基本から実務で使えるテクニックまで徹底解説します。
✅ 正規表現の基本:PowerShellでの使い方
マッチ判定 -match
否定パターン
文字列からValue取得
$matches[1] にキャプチャした文字列が入る
✅ よく使う正規表現パターン
| 用途 | パターン | 例 |
|---|---|---|
| 数字 | \d+ | 1234 |
| 英字 | [A-Za-z]+ | UserName |
| メール | \w+@\w+\.\w+ | test@mail.com |
| 日付 | \d{4}/\d{2}/\d{2} | 2025/01/10 |
| 任意の文字列 | .*? | 全部 |
✅ 実践例:ログからIPアドレスだけ抽出
出力
✅ 置換:-replaceでデータ整形
電話番号のハイフン削除
メールのドメインを隠す
✅ ファイル名の一括リネーム
大量ファイルの命名変換で超便利
✅ キャプチャした値を使った置換
日付フォーマット変換(YYYY/MM/DD → YYYY-MM-DD)
✅ 否定・条件抽出の例
IP行だけ抽出
エラー行だけ取得
“Warning”を含まない行
✅ 欲しいパターンはGitHub Copilotじゃなく、正規表現辞書を使え!
以下のキーワードで検索すると精度高い例が見つかります👇
✅ まとめ
| 機能 | PowerShellでのコマンド |
|---|---|
| マッチ判定 | -match / -notmatch |
| 抽出 | $matches[] |
| 検索 | Select-String |
| 置換 | -replace |
| ファイル検索 | Get-ChildItem + Select-String |
正規表現を使いこなすと、
データ処理・ログ解析・自動化スクリプトが一気にプロレベルになります。
