トピック
    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   




目次