トピック about_Regular_Expressions 簡易説明 Windows PowerShell における正規表現について説明します。 詳細説明 Windows PowerShell は、次の正規表現文字をサポートしています。 形式 ロジック 例 -------- ------------------------------- ----------------------- 値 元の値の任意の場所にある文字列 "book" -match "oo" と完全に一致する。 . 任意の 1 文字と一致する。 "copy" -match "c..y" [値] 角かっこ内の文字列の少なくとも "big" -match "b[iou]g" 1 文字と一致する。 [範囲] 範囲内の文字列の少なくとも "and" -match "[a-e]nd" 1 文字と一致する。ハイフン (-) を使用すると隣接する文字を 指定できる。 [^] 角かっこ内の文字列以外の任意の "and" -match "[^brt]nd" 文字列と一致する。 ^ 先頭の文字列と一致する。 "book" -match "^bo" $ 末尾の文字列と一致する。 "book" -match "ok$" * 先行する文字の任意の。 "baggy" -match "g*" インスタンスと一致する ? 先行する文字の 1 個の "baggy" -match "g?" インスタンスと一致する。 \ エスケープされた文字として "Try$" -match "Try\$" 続く文字と一致する。 Windows PowerShell は、Microsoft .NET Framework 正規表現内で使用可能な文字クラスをサポートし ています。 形式 ロジック 例 -------- ------------------------------- ----------------------- \p{name} {name} で指定した名前付き文字ク "abcd defg" -match "\p{Ll}+" ラスの任意の文字と一致する。 サポートされる名前 は、Unicode グループとブロック範囲 (Ll、Nd、 Z、IsGreek、IsBoxDrawing など)。 \P{name} {name} で指定したグループまたは 1234 -match "\P{Ll}+" ブロック範囲に含まれないテキスト と一致する。 \w 任意の単語文字と一致する。 "abcd defg" -match "\w+" 任意の単語文字と一致する。 (abcd と一致) Unicode 文字カテゴリの [\p{Ll} \p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}] と同等。ECMAScript 準拠の動作が ECMAScript オプションによって 指定される場合、\w は [a-zA-Z_0-9] と同等。 \W 任意の非単語文字と一致する。 "abcd defg" -match "\W+" Unicode カテゴリの (スペースと一致) [^\p{Ll}\p{Lu}\p{Lt}\p{Lo} \p{Nd}\p{Pc}] と同等。 \s 任意の空白文字と一致する。 "abcd defg" -match "\s+" Unicode 文字カテゴリの [\f\n\r\t\v\x85\p{Z}] と同等。 \S 任意の非空白文字と一致する。 "abcd defg" -match "\S+" Unicode 文字カテゴリの [^\f\n\r\t\v\x85\p{Z}] と同等。 \d 任意の 10 進数値と一致する。 12345 -match "\d+" Unicode の場合は \p{Nd}、 非 Unicode の場合は [0-9] と同等。 \D 任意の非数値と一致する。 "abcd" -match "\D+" Unicode の場合は \P{Nd}、 非 Unicode の場合は [^0-9] と同等。 Windows PowerShell は、.NET Framework 正規表現内で使用可能な修飾子をサポートしています。次 に、修飾子の例をいくつか示します。 形式 ロジック 例 -------- ------------------------------- ----------------------- * \w* や (abc)* のように "abc" -match "\w*" 0 回以上の一致を指定する。 {0,} と同等。 + 先行文字列の反復インスタンス "xyxyxy" -match "xy+" と一致する。 ? \w? や (abc)? のように "abc" -match "\w?" 0 回以上の一致を指定する。 {0,1} と同等。 {n} (pizza){2} のように正確に "abc" -match "\w{2}" n 回の一致を指定する。 {n,} (abc){2,} のように少なくとも "abc" -match "\w{2,}" n 回の一致を指定する。 {n,m} 少なくとも n 回以上 "abc" -match "\w{2,3}" m 回未満の一致を指定する。 前の表で示したすべての比較は、True として評価されます。 正規表現のエスケープ文字は、Windows PowerShell のエスケープ文字とは異なります。正規表現のエ スケープ文字は、バックスラッシュ (\) です。Windows PowerShell のエスケープ文字は、アクサ ン グラーブ文字 (`) (ASCII 96) です。 詳細については、Microsoft Developer Network (MSDN) ライブラリで正規表現言語要素に関 するトピック (https://go.microsoft.com/fwlink/?LinkId=133231) を参照してください。 関連項目 about_Comparison_Operators about_Operators