아.. 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

Version : Visual Studio 2010
아마도 모든 버전에서 동일적용이 아닐 듯 싶다.

비주얼 스튜디오 정규식.
다음은 간단한 예제입니다. 

아래와 같이 입력된 텍스트를 정규식을 이용하여 변환한다.


그럼 입력된 텍스트에 \n (줄바꿈) 정규식이 적용되었기에 결과가 아래와 같습니다.


마지막으로 캡쳐를 떠가며 포스팅한 사람을 위해 댓글을 달면 완료.^^

울트라에디트에서 정말로 자주 사용하던 기능인데, 비주얼스튜디오에서 생각이 나서 찾아보다가 있어서
포스팅을 합니다.  

구문

설명

모든 문자

.

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

최대-0번 이상

*

앞의 식을 0번 이상 찾습니다.

최대-한 번 이상

+

앞의 식을 한 번 이상 찾습니다.

최소-0번 이상

@

앞의 식을 0번 이상 찾으며 가능한 한 적은 수의 문자가 일치하는 경우만 찾습니다.

최소-한 번 이상

#

앞의 식을 한 번 이상 찾으며 가능한 한 적은 수의 문자가 일치하는 경우만 찾습니다.

n번 반복

^n

앞의 식과 일치하는 항목을 n개 찾습니다[0-9]^4    임의 4자리 시퀀스를 찾습니다.

문자 집합

[]

[] 안의 문자 중 하나를 찾습니다문자 범위를 지정하려면 대시(-)로 구분하여 시작 및 끝 문자를 입력합니다(: [a-z]).

집합에 없는 문자

[^...]

다음에 나오는 문자 집합에 없는 문자를 찾습니다.

줄 시작

^

줄 맨 앞에 있는 항목만 찾습니다.

줄 끝

$

줄 맨 끝에 있는 항목만 찾습니다.

단어 시작

<

텍스트의 해당 지점에서 시작하는 단어만 찾습니다.

단어 끝

>

텍스트의 해당 지점에서 끝나는 단어만 찾습니다.

그룹화

()

부분식을 그룹화합니다.

Or

|

앞뒤의 식을 찾습니다.). 이 구문은 그룹 내에서 가장 자주 사용됩니다예를 들어(sponge|mud) bath "sponge bath" "mud bath"를 모두 찾습니다.

이스케이프

\

백슬래시(\) 다음에 나오는 문자를 찾습니다이 방법으로 정규식 표기에 사용되는 문자를 찾을 수 있습니다(: {  ^). 예를 들어\^ ^ 문자를 검색합니다.

태그가 지정된 식

{}

중괄호로 묶인 식에 일치하는 텍스트를 찾아 태그를 지정합니다.

태그가 지정된 n번째 텍스트

\n

찾기 또는 바꾸기 식에서 태그가 지정된 n번째 식과 일치하는 텍스트를 찾습니다여기서 n 1-9까지 범위의 숫자입니다.

바꾸기 식에서 \0을 지정하면 일치하는 전체 텍스트가 삽입됩니다.

오른쪽 맞춤 필드

\(w,n)

바꾸기 식에서 w개 이상의 문자 너비의 필드에서 태그가 지정된 n번째 식을 오른쪽 맞춤 합니다.

왼쪽 맞춤 필드

\(-w,n)

바꾸기 식에서 w개 이상의 문자 너비의 필드에서 태그가 지정된 n번째 식을 왼쪽 맞춤 합니다.

일치하는 항목은 찾지 않음

~X

식의 해당 지점에서 X가 나타나면 일치하는 항목을 찾지 않습니다예를 들어real~(ity) "realty"  "really" "real"은 찾지만 "reality" "real"은 찾지 않습니다.

영숫자

:a

해당 식을 찾습니다
([a-zA-Z0-9]).

영문자

:c

해당 식을 찾습니다
([a-zA-Z]).

10진수

:d

해당 식을 찾습니다
([0-9]).

16진수

:h

해당 식을 찾습니다
([0-9a-fA-F]+).

식별자

:i

해당 식을 찾습니다
([a-zA-Z-$][a-zA-Z0-9_$]*).

유리수

:n

해당 식을 찾습니다
(([0-9]+.[0-9]*)|([0-9]*.[0-9]+)|([0-9]+)).

따옴표 붙은 문자열

:q

해당 식을 찾습니다.
(("[^"]*")|('[^']*'))

영문자열

:w

해당 식을 찾습니다.
([a-zA-Z]+)

10진 정수

:z

해당 식을 찾습니다
([0-9]+).

이스케이프

\e

유니코드 U+001B.

경고음

\g

유니코드 U+0007.

백스페이스

\h

유니코드 U+0008.

줄 바꿈

\n

모든 플랫폼에 적용되는 줄 바꿈 문자를 찾습니다바꾸기 식에 줄 바꿈을 삽입합니다.

\t

탭 문자유니코드 U+0009를 찾습니다.

유니코드 문자

\x####또는\u####

유니코드 값이 지정된 문자를 찾습니다여기서 #### 16진수입니다대리자 쌍의 값이 지정되었다고 가정할 경우 ISO 10646 코드 포인트나 두 개의 유니코드 코드 포인트로 기본적인 다국적 문자표에 없는 문자(대리자)를 지정할 수 있습니다.

[출처] 정규식|작성자 세인트


+ Recent posts