正規表現の後方参照
2009/11/26 23:31 |
2009/12/23 21:58 |
(^\d{4}/\d{2}/\d{2}) {2}\d{2}:\d{2}.{20}(.*$)
そして、指定したパターンを検索後、matchクラスのresultメソッドで取得できます。引数として"`$1 `$2"というように指定します。今回でいう$1は日付部分にあたり$2はフォルダ部分となります。以下は実際に使用したプログラムとなります。
set-PSDebug -strict # ---------------------------- # 正規表現テスト2 # 第一引数:ファイルパス # 第二引数:パターン # ---------------------------- function RegularExpressionTest2{ # 引数の取得 param([string]$fpath,[string]$pattern) # encoding設定 $encoding = [system.Text.Encoding]::GetEncoding("shift_jis") # ファイルオープン $stream = new-Object system.IO.StreamReader($fpath, $encoding) # ファイル読み込み $text = $stream.readtoend() # ファイルクローズ $stream.close() # 正規表現検索 $m = new-Object regex $pattern,("Multiline") $results = $m.matches($text) # 結果画面表示 write-Host "***結果***" foreach ( $match in $results ){ $match.result("`$1 `$2") } }