웹마스터 팁

정규식 문법

2014.02.28 23:21

웹엔진

정규식 문법입니다.
(?=pattern) 와 같은 문법은 잘 설명된게 없기도 하고 찾기도 어려워서 올립니다.

문자설명
\ 다음에 오는 문자를 특수 문자, 리터럴, 역참조 또는 8진수 이스케이프로 표시합니다. 예를 들어, 'n'은 문자 "n"을 찾지만 '\n'은 줄 바꿈 문자를 찾습니다. 시퀀스 '\\'는 "\"를 찾고 "\("는 "("를 찾습니다.
^ 입력 문자열의 시작 부분에서 위치를 찾습니다. RegExp 개체의 Multiline 속성이 설정되어 있으면 ^에서는 '\n'이나 '\r' 다음의 위치도 찾습니다.
$ 입력 문자열의 끝 부분에서 위치를 찾습니다. RegExp 개체의 Multiline 속성이 설정되어 있으면 $는 '\n'이나 '\r' 앞의 위치도 찾습니다.
* 앞의 문자나 부분식을 0개 이상 찾습니다. 예를 들어, zo*는 "z"과 "zoo"를 찾습니다. *는 {0,}에 해당합니다.
+ 앞의 문자나 부분식을 1개 이상 찾습니다. 예를 들어, 'zo+'는 "zo"와 "zoo"는 찾지만 "z"는 찾지 않습니다. +는 {1,}에 해당합니다.
? 앞의 문자나 부분식을 0개나 1개 찾습니다. 예를 들어, "do(es)?"는 "do"나 "does"에서 "do"를 찾습니다. ? 는 {0,1}에 해당합니다.
{n} n은 음이 아닌 정수입니다. 정확히 n개 찾습니다. 예를 들어, 'o{2}'는 "Bob"의 'o'는 찾지 않지만 "food"에 있는 두 개의 o는 찾습니다.
{n,} n은 음이 아닌 정수입니다. n개 이상을 찾습니다. 예를 들어, o{2,}는 "Bob"의 "o"는 찾지 않지만 "foooood"의 o는 모두 찾습니다. 'o{1,}'은 'o+'에 해당합니다. 'o{0,}'은 'o*'에 해당합니다.
{n,m} M 및 n은 음수가 아닌 정수이며 n <= m입니다. n개 이상 m개 미만을 찾습니다. 예를 들어, "o{1,3}"은 "fooooood"의 처음에 오는 3개의 o를 찾습니다. 'o{0,1}'은 'o?'에 해당합니다. 쉼표와 숫자 사이에는 공백을 넣을 수 없습니다.
? *, +, ?, {n}, {n,}, {n,m} 등의 다른 수량자 뒤에 바로 이 문자가 오면 일치하는 패턴은 non-greedy입니다. non-greedy 패턴은 가능한 한 검색 문자열을 적게 찾습니다. 반면 기본 greedy 패턴은 가능한 한 검색 문자열을 많이 찾습니다. 예를 들어, "oooo" 문자열에서 'o+?'는 "o" 하나만 찾는데 'o+'는 모든 'o'를 찾습니다.
. "\n"이외의 모든 단일 문자를 찾습니다. '\n'을 비롯한 모든 단일 문자를 찾으려면 '[\s\S]' 패턴을 사용합니다.
(pattern) 패턴을 찾아 일치하는 항목을 캡처하는 부분식입니다. $0…$9 속성을 사용하여 결과로 생성된 Matches 컬렉션에서 캡처된 일치 항목을 검색할 수 있습니다. 괄호 문자( )를 찾으려면 '\('이나 '\)'를 사용합니다.
(?:pattern) 패턴은 찾지만 일치하는 항목은 캡처하지 않는 부분식, 즉 나중에 사용하기 위해 저장하지 않는 비캡처링 일치 항목입니다. 패턴의 일부를 "or" 문자(|)를 사용하여 결합할 때 유용합니다. 예를 들어 'industr(?:y|ies)는 'industry|industries'보다 더 경제적인 표현입니다.
(?=pattern) 양의 미리 보기 검색을 수행하는 부분식으로 패턴에 일치하는 문자열이 시작된 위치에서 문자열을 찾습니다. 이는 비캡처링 일치, 즉 나중에 사용하기 위해 캡처하지 않는 일치입니다. 예를 들어 'Windows (?=95|98|NT|2000)'는 "Windows 2000"의 "Windows"는 찾지만 "Windows 3.1"의 "Windows"는 찾지 않습니다. 미리 보기는 문자를 소비하지 않습니다. 즉, 일치가 나타나면 미리 보기를 구성하는 문자 다음이 아니라 마지막 일치 항목 바로 뒤에서 다음 일치 항목에 대한 검색이 시작됩니다.
(?!pattern) 음의 미리 보기 검색을 수행하는 부분식으로 패턴에 일치하지 않는 문자열이 시작된 위치에서 검색 문자열을 찾습니다. 이는 비캡처링 일치, 즉 나중에 사용하기 위해 캡처하지 않는 일치입니다. 예를 들어 'Windows (?!95|98|NT|2000)'는 "Windows 3.1"의 "Windows"는 찾지만 "Windows 2000"의 "Windows"는 찾지 않습니다. 미리 보기는 문자를 소비하지 않습니다. 즉, 일치가 나타나면 미리 보기를 구성하는 문자 다음이 아니라 마지막 일치 항목 바로 뒤에서 다음 일치 항목에 대한 검색이 시작됩니다.
x|y x 또는 y를 찾습니다. 예를 들어 'z|food'는 "z" 또는 "food"를 찾습니다. '(z|f)ood'는 "zood" 또는 "food"를 찾습니다.
[xyz] 문자 집합. 괄호로 묶인 문자 중 하나를 찾습니다. 예를 들어, '[abc]'는 "plain"에서 'a'를 찾습니다.
[^xyz] 음수 문자 집합. 괄호로 묶이지 않은 문자를 찾습니다. 예를 들어, '[^abc]'는 "plain"에서 'p'를 찾습니다.
[a-z] 문자의 범위. 지정한 범위에서 문자를 찾습니다. 예를 들어, '[a-z]'는 'a'에서 'z'까지의 범위에서 소문자 영문자를 찾습니다.
[^a-z] 음의 범위 문자. 지정한 위치에 있지 않은 문자를 찾습니다. 예를 들어, '[^a-z]'는 'a'에서 'z'까지의 범위에 있지 않은 문자를 찾습니다.
\b 단어 경계, 즉 단어와 공백 사이의 위치를 찾습니다. 예를 들어, 'er\b'는 "never"의 'er'은 찾지만 "verb"의 'er'은 찾지 않습니다.
\B 비단어 경계를 찾습니다. 'er\B'는 "verb"의 'er'은 찾지만 "never"의 'er'은 찾지 않습니다.
\cx x로 표시된 제어 문자를 찾습니다. 예를 들어 \cM은 Control-M이나 캐리지 리턴 문자를 찾습니다. x의 값은 A-Z이나 a-z의 범위에 있어야 합니다. 범위를 벗어나면 c는 리터럴 'c' 문자로 간주됩니다.
\d 숫자를 찾습니다. [0-9]에 해당합니다.
\D 숫자가 아닌 문자를 찾습니다. [^0-9]에 해당합니다.
\f 용지 공급 문자를 찾습니다. \x0c와 \cL에 해당합니다.
\n 줄 바꿈 문자를 찾습니다. \x0a와 \cJ에 해당합니다.
\r 캐리지 리턴 문자를 찾습니다. \x0d와 \cM에 해당합니다.
\s 공백, 탭, 용지 공급 등을 비롯한 모든 공백 문자를 찾습니다. [\f\n\r\t\v]에 해당합니다.
\S 공백이 아닌 문자를 찾습니다. [^ \f\n\r\t\v]에 해당합니다.
\t 탭 문자를 찾습니다. \x09와 \cI에 해당합니다.
\v 세로 탭 문자를 찾습니다. \x0b와 \cK에 해당합니다.
\w 밑줄을 비롯한 모든 문자를 찾습니다. '[A-Za-z0-9_]'에 해당합니다.
\W 비단어 문자를 찾습니다. '[^A-Za-z0-9_]'에 해당합니다.
\xn n을 찾는데, 여기서 n은 16진수 이스케이프 값입니다. 16진수 이스케이프 값은 정확히 두 자리 수입니다. 예를 들어, '\x41'은 "A"를 찾습니다. '\x041'은 '\x04' & "1"에 해당합니다. ASCII 코드가 정규식에 사용될 수 있습니다.
\num num을 찾는데, 여기서 num은 양의 정수입니다. 캡처된 일치에 대한 역참조입니다. 예를 들어, '(.)\1'은 두 개의 연속된 동일 문자를 찾습니다.
\n 8진수 이스케이프 값이나 역참조 중 하나를 식별합니다. \n 앞에 n개 이하의 캡처된 부분식이 오면 n은 역참조입니다. 그렇지 않고 n이 8진수(0-7)이면 n은 8진수 이스케이프 값입니다.
\nm 8진수 이스케이프 값이나 역참조 중 하나를 식별합니다. \nm 앞에 nm개 이하의 캡처된 부분식이 오면 nm은 역참조입니다. \nm 앞에 n개 이하의 캡처가 오면 n은 뒤에 리터럴 m이 오는 역참조입니다. 처리 조건이 없으면 \nm은 n과 m이 8진수(0-7)일 때 8진수 이스케이프 값 nm을 찾습니다.
\nml n이 8진수(0-3)이고 m과 l이 8진수(0-7)인 8진수 이스케이프 값 nml을 찾습니다.
\un n을 찾는데, 여기서 n은 네 자리 16진수로 표현된 유니코드 문자입니다. 예를 들어 \u00A9는 저작권 기호(ⓒ)를 찾습니다.

원본 내용 출처 : http://msdn.microsoft.com/ko-kr/library/ae5bf541(v=vs.90).aspx (일부 수정)
제목 글쓴이 날짜
군산안마【오피사이트.NET】군산스웨디시 군산마사지 군산1인샵 songkangkong767 2025.02.22
목포오피 ⦑오피쓰.COM⦒ 목포오피 목포출장마사지 목포오피 목포OP koykoyah 2025.02.22
신천안마【오피사이트.NET】신천스웨디시 신천마사지 신천1인샵 songkangkong767 2025.02.22
분당오피 분당OP ⦑출장마사지안내.COM⦒ 분당휴게텔 분당오피 분당오피 koykoyah 2025.02.22
인천1인샵【오피쓰주소.COM】인천안마 인천마사지 인천스웨디시 songkangkong767 2025.02.22
여의도오피 ⦑오피쓰주소.COM⦒ 여의도오피 여의도OP 여의도건마 여의도오피 koykoyah 2025.02.22
서면1인샵【출장안마사이트.COM】서면1인샵 서면 1인샵 서면1인샵 songkangkong767 2025.02.22
분당오피 ⦑출장안마사이트.COM⦒ 분당오피 분당OP 분당건마 분당오피 koykoyah 2025.02.22
동대문스웨디시【오피사이트.NET】동대문스웨디시 동대문 스웨디시 동대문스웨디시 songkangkong767 2025.02.22
해운대오피 ⦑오피.CLUB⦒ 해운대마사지 해운대오피 해운대오피 해운대OP koykoyah 2025.02.22
용인마사지【오피쓰.COM】용인마사지 용인 마사지 용인마사지 songkangkong767 2025.02.22
포항오피 ⦑출장안마사이트.COM⦒ 포항오피 포항OP 포항건마 포항오피 koykoyah 2025.02.22
안양스웨디시【오피쓰.COM】안양마사지 안양1인샵 안양안마 songkangkong767 2025.02.22
동두천오피 ⦑오피사이트.NET⦒ 동두천마사지 동두천오피 동두천오피 동두천OP koykoyah 2025.02.22
강동안마【오피.CLUB】강동 안마 강동안마 강동안마 songkangkong767 2025.02.22
제주오피 제주OP ⦑오피.CLUB⦒ 제주휴게텔 제주오피 제주오피 koykoyah 2025.02.22
광주1인샵【오피쓰.COM】광주1인샵 광주 1인샵 광주1인샵 songkangkong767 2025.02.22
안양오피 ⦑오피.CLUB⦒ 안양오피 안양출장마사지 안양오피 안양OP koykoyah 2025.02.22
제주도마사지【오피.CLUB】제주도 마사지 제주도마사지 제주도마사지 songkangkong767 2025.02.22
여의도오피 여의도OP ⦑오피쓰.COM⦒ 여의도휴게텔 여의도오피 여의도오피 koykoyah 2025.02.22