항목
about_Regular_Expressions
간단한 설명
Windows PowerShell의 정규식에 대해 설명합니다.
자세한 설명
Windows PowerShell에서는 다음과 같은 정규식 문자를 지원합니다.
형식 논리 예
------- ---------------------------------- -----------------------
value 원래 값의 임의 위치에 있는 정확한 "book" -match "oo"
문자와 일치시킵니다.
. 임의의 한 문자와 일치시킵니다. "copy" -match "c..y"
[value] 대괄호 안에 있는 문자 중 최소한 "big" -match "b[iou]g"
하나와 일치시킵니다.
[range] 범위 안에 있는 문자 중 최소한 "and" -match "[a-e]nd"
하나와 일치시킵니다. 하이픈(-)을
사용하면 연속된 문자를
지정할 수 있습니다.
[^] 대괄호 안에 있는 문자를 제외한 "and" -match "[^brt]nd"
임의의 문자와 일치시킵니다.
^ 시작 문자와 일치시킵니다. "book" -match "^bo"
$ 끝 문자와 일치시킵니다. "book" -match "ok$"
* 임의의 선행 문자 인스턴스와 "baggy" -match "g*"
일치시킵니다.
? 하나의 선행 문자 인스턴스와 "baggy" -match "g?"
일치시킵니다.
\ 이스케이프 문자 다음에 오는 "Try$" -match "Try\$"
문자와 일치시킵니다.
Windows PowerShell에서는 Microsoft .NET Framework 정규식에서 사용할 수 있는 다음과
같은 문자 클래스를 지원합니다.
형식 논리 예
-------- -------------------------------- -----------------------
\p{name} {name}에 지정된 명명된 문자 "abcd defg" -match "\p{Ll}+"
클래스에 있는 임의의 문자와
일치시킵니다. 지원되는 이름은
유니코드 그룹과 블록 범위입니다(예:
Ll, Nd, Z, IsGreek 및 IsBoxDrawing).
\P{name} {name}에 지정된 그룹과 블록 1234 -match "\P{Ll}+"
범위에 포함되지 않은 텍스트와
일치시킵니다.
\w 임의의 단어 문자와 일치시킵니다. "abcd defg" -match "\w+"
유니코드 문자 범주 [\p{Ll}\p{Lu} (this matches abcd)
\p{Lt}\p{Lo}\p{Nd}\p{Pc}]에
해당합니다. ECMAScript 옵션으로
ECMAScript와 호환되는 동작을
지정하면 \w는 [a-zA-Z_0-9]와
같습니다.
\W 단어 문자가 아닌 임의의 문자와 "abcd defg" -match "\W+"
일치시킵니다. 유니코드 범주 (공백과 일치시킴)
[^\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p
{Nd}\p{Pc}]에 해당합니다.
\s 임의의 공백 문자와 일치시킵니다. "abcd defg" -match "\s+"
유니코드 문자 범주
[\f\n\r\t\v\x85\p{Z}]에
해당합니다.
\S 공백 문자가 아닌 임의의 문자와 "abcd defg" -match "\S+"
일치시킵니다. 유니코드 문자 범위
[^\f\n\r\t\v\x85\p{Z}]에
해당합니다.
\d 임의의 10진수와 일치시킵니다. 12345 -match "\d+"
유니코드 문자의 경우 \p{Nd}에
해당하고 유니코드가 아닌
문자의 경우 [0-9]에 해당합니다.
\D 10진수가 아닌 임의의 문자와 "abcd" -match "\D+"
일치시킵니다. 유니코드 문자의
경우 \P{Nd}에 해당하고 유니코드가
아닌 문자의 경우 [^0-9]에 해당합니다.
Windows PowerShell에서는 .NET Framework 정규식에서 사용할 수 있는 수량자를 지원합니다.
수량자의 몇 가지 예는 다음과 같습니다.
형식 논리 예
-------- --------------------------------- -----------------------
* 0개 이상의 일치하는 항목을 "abc" -match "\w*"
지정합니다(예: \w* 또는 (abc)*).
{0,}에 해당합니다.
+ 반복되는 선행 문자 인스턴스와 "xyxyxy" -match "xy+"
일치시킵니다.
? 0개 또는 1개의 일치하는 항목을 "abc" -match "\w?"
지정합니다(예: \w? 또는 (abc)?).
해당합니다.
{n} 정확히 n개의 일치하는 항목을 "abc" -match "\w{2}"
지정합니다(예: (pizza){2}).
{n,} 최소한 n개의 일치하는 항목을 "abc" -match "\w{2,}"
지정합니다(예: (abc){2,}).
{n,m} n-1개보다 많지만 m개보다 적은 "abc" -match "\w{2,3}"
수의 일치하는 항목을 지정합니다.
위의 표에 나온 비교는 모두 true로 평가됩니다.
정규식의 이스케이프 문자는 Windows PowerShell의 이스케이프 문자와 달리 백슬래시(\)입니다.
Windows PowerShell의 이스케이프 문자는 억음 문자(`)(ASCII 96)입니다.
자세한 내용은 MSDN(Microsoft Developer Network)
라이브러리(https://go.microsoft.com/fwlink/?LinkId=133231)에서 "Regular
Expression Language Elements(정규식 언어 요소)" 항목을 참조하십시오.
참고 항목
about_Comparison_Operators
about_Operators