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