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 | 
正規表現を使いこなすと、
データ処理・ログ解析・自動化スクリプトが一気にプロレベルになります。
