본문 바로가기
Tech Note/IDE

Visual Studio 2013 정규식 사용

by Dev. Jkun 2013. 11. 22.
반응형

아.. 2013부터는 정규식이 다르구나.

정규식으로 코드를 일괄변경할 일이 있어서 정규식을 먹이는게 뒤지게 안돌아가는거다.

아 짜증나서 봤드만;;

ㅋㅋㅋ


다음 표를 사용하여 이전 버전의 Visual Studio에서
사용된 정규식 버전을 .NET Framework 정규식으로 변환할 수 있습니다.

용도

새 그룹

이전

새 예제

줄 바꿈 문자를 제외한 모든 단일 문자를 찾습니다.

.

.

a.o는 "around"에서 "aro"와 일치하고 "about"에서 "abo"와 일치하지만 "across"에서 "acro"와는 일치하지 않습니다.

앞의 식을 0번 이상 찾습니다(가능한 한 많은 수의 문자가 일치).

*

*

a*r은 "rack"의 "r", "ark"의 "ar", 그리고 "aardvark"의 "aar"과 일치합니다.

0회 이상 일치하는 문자를 찾습니다(와일드카드 *).

.*

.*

c.*e는 “racket”의 “cke”, “comment”의 “comme” 및 “code”의 “code”와 일치합니다.

앞의 식을 1번 이상 찾습니다(가능한 한 많은 수의 문자가 일치).

+

+

e.+e는 "feeder"의 "eede"와 일치하지만 "ee"와는 일치하지 않습니다.

1회 이상 일치하는 문자를 찾습니다(와일드카드 ?).

.+

.+

e.+e는 "feeder"에서 "eede"는 찾지만 "ee"는 찾지 않습니다.

앞의 식을 0번 이상 찾습니다(가능한 한 적은 수의 문자가 일치).

*?

@

e.*?e는 "feeder"의 "ee"와 일치하지만 "eede"와는 일치하지 않습니다.

앞의 식을 1번 이상 찾습니다(가능한 한 적은 수의 문자가 일치).

+?

#

e.+?e는 "enterprise"의 "ente" 및 "erprise"는 찾지만 "enterprise"라는 전체 단어는 찾지 않습니다.

줄 또는 문자열의 시작 부분에서 일치하는 문자열을 찾습니다.

^

^

^car는 "car"라는 단어가 줄의 시작에 나타날 때만 일치합니다.

줄의 끝 부분에서 일치하는 문자열을 찾습니다.

\r?$

$

End\r?$는 줄 끝에 나타나는 "end"와만 일치합니다.

집합에서 임의의 단일 문자를 찾습니다.

[abc]

[abc]

b[abc]는 "ba", "bb" 및 "bc"와 일치합니다.

문자 범위에서 일치하는 문자를 찾습니다.

[a-f]

[x-y]

be[n-t]는 "between"의 "bet", "beneath"의 "ben", 그리고 "beside"의 "bes"는 찾지만 "below"는 찾지 않습니다.

괄호 안에 포함된 식 캡처 및 암시적으로 번호 지정

()

()

([a-z])X\1은 "aXa" 및 "bXb"와 일치하지만 "aXb"는 일치하지 않습니다. ". “\1”은 첫 번째 식 그룹 “[a-z]”을 가리킵니다.

일치 무효화

(?!abc)

~(abc)

real (?!ity)는 "realty"와 "really"에서 "real"은 찾지만 "reality"에서는 찾지 않습니다. 또한 "realityreal"에서 두 번째 "real"(첫 번째 "real"이 아님)을 찾습니다.

지정된 문자 집합에 없는 문자와 일치

[^abc]

[^abc]

be[^n-t]는 "before"의 "bef", "behind"의 "beh", 그리고 "below"의 "bel"은 찾지만 "beneath"는 찾지 않습니다.

기호 앞 또는 뒤에 나오는 식을 찾습니다.

|

|

(sponge|mud) bath는 "sponge bath"와 "mud bath"를 모두 찾습니다.

백슬래시 다음에 오는 문자는 이스케이프됩니다.

\

\

\^는 ^ 문자를 찾습니다.

이전 문자 또는 그룹의 발생 횟수를 지정합니다.

{x}, 여기서 x는 일치하는 항목의 수입니다.

\x, 여기서 x는 일치하는 항목의 수입니다.

x(ab){2}x는 "xababx"와 일치하고, x(ab){2,3}x는 "xababx" 및 "xabababx"와 일치하지만 "xababababx"와는 일치하지 않습니다.

유니코드 문자 클래스의 텍스트와 일치합니다. 여기서 "X"는 유니코드 번호입니다. 유니코드 문자에 대한 자세한 내용은 다음을 참조하십시오.

유니코드 표준 5.2 문자 속성.

\p{X}

:X

\p{Lu}는 "Thomas Doe"의 "T" 및 "D"와 일치합니다.

단어 경계를 찾습니다.

\b (\b는 문자 클래스 외부에서 단어 경계를 지정하며 문자 클래스 안에서는 백스페이스를 지정합니다.)

< 및 >은 단어의 시작과 끝을 지정합니다.

\bin은 "inside"의 "in"과 일치하지만 "pinto"와는 일치하지 않습니다.

줄 바꿈(즉, 캐리지 리턴 및 새 줄)과 일치합니다.

\r?\n

\n

End\r?\nBegin은 "End"가 줄의 마지막 문자열이고 "Begin"이 다음 줄의 첫 번째 문자열인 경우에만 "End" 및 "Begin"을 찾습니다.

일치하는 영숫자 문자를 찾습니다.

\w

:a

a\wd는 "add" 및 "a1d"와 일치하지만 "a d"와는 일치하지 않습니다.

임의의 공백 문자를 찾습니다.

(?([^\r\n])\s)

:b

Public\sInterface는 "Public Interface"라는 구를 찾습니다.

일치하는 숫자 문자를 찾습니다.

\d

:d

\d는 "3456"의 "3", "23"의 "2", "1"의 "1"과 일치합니다.

유니코드 문자를 찾습니다.

\uXXXX, 여기서 XXXX는 유니코드 문자 값을 지정합니다.

\uXXXX, 여기서 XXXX는 유니코드 문자 값 지정

\u0065는 문자 "e"를 찾습니다.

식별자와 일치

\b(_\w+|[\w-[0-9_]]\w*)\b

:i

"type1"은 찾지만 &type1" 또는 "#define"은 찾지 않습니다.

따옴표 안의 문자열과 일치

((\".+?\")|('.+?'))

:q

문자열 안의 작은따옴표 또는 큰따옴표와 일치합니다.

16진수 숫자와 일치

\b0[xX]([0-9a-fA-F])\b

:h

"0xc67f"와 일치하지만 "0xc67fc67f"는 일치하지 않습니다.

정수 및 소스와 일치

\b[0-9]*\.*[0-9]+\b

:n

"1.333"을 찾습니다.


링크 : http://msdn.microsoft.com/ko-kr/library/2k3te2cs.aspx

반응형

댓글