미리 정의된 메타 문자 집합
\a 벨(경보)과 일치합니다. \u0007
\b 문자 클래스 안에 사용되는 경우를 제외하고 단어 경계와 일치합니다. 백슬래시 문자 \u0008과 일치합니다.
\t 탭과 일치합니다. \u0009
\r 캐리지 리턴과 일치합니다. \u000D
\w 세로 탭과 일치합니다. \u000B
\f 용지 공급과 일치합니다. \u000C
\n 새 행과 일치합니다. \u000A
\e 이스케이프와 일치합니다. \u001B
\040 세 자리 8진수를 사용하는 ASCII 문자와 일치합니다. \040은 공백을 나타냅니다(십진수 32).
\x20 두 자리 16진수를 사용하는 ASCII 문자와 일치합니다. 이 경우 \x2-는 공백을 나타냅니다.
\cC ASCII 컨트롤 문자와 일치합니다. 이 경우 ctrl-C입니다.
\u0020 정확히 4자리 16진수를 사용하는 유니코드 문자와 일치합니다. 이 경우 \u0020은 공백입니다.
\* 미리 정의된 문자 클래스를 나타내지 않는 문자는 단순히 해당 문자로 처리됩니다. 그러므로 \*는 \x2A와 같습니다(*는 메타 문자가 아니라 리터럴임).
\p{name} 명명된 문자 클래스 'name'에 있는 임의의 문자와 일치합니다. 지원되는 이름은 유니코드 그룹 및 블록 범위입니다. 예를 들어 Ll, Nd, Z, IsGreek, IsBoxDrawing 및 Sc(통화)와 같습니다.
\P{name} 명명된 문자 클래스 'name'에 포함되지 않은 텍스트와 일치합니다.
\w 임의의 단어 문자와 일치합니다. 비유니코드 및 ECMAScript 구현의 경우 [a-zA-Z_0-9]와 같습니다. 유니코드 범주에서는 [\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}]와 같습니다.
\W \w를 빼고, ECMAScript 규격 집합 [^a-zA-Z_0-9] 또는 유니코드 문자 범주 [^\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}]와 같습니다.
\s 공백 문자와 일치합니다. 유니코드 문자 클래스 [\f\n\r\t\v\x85\p{Z}]와 같습니다. ECMAScript 옵션을 사용하여 ECMAScript 규격 동작을 지정한 경우 \s는 [ \f\n\r\t\v](선행 공백이 있음)와 같습니다.
\S 공백이 아닌 문자와 일치합니다. 유니코드 문자 범주 [^\f\n\r\t\v\x85\p{Z}]와 같습니다. ECMAScript 옵션을 사용하여 ECMAScript 규격 동작을 지정한 경우 \S는 [^ \f\n\r\t\v](^ 다음에 공백이 있음)와 같습니다.
\d 십진수와 일치합니다. 유니코드의 경우 [\p{Nd}]와 같고, 비유니코드 ECMAScript 동작의 경우 [0-9]와 같습니다.
\D 십진수가 아닌 숫자와 일치합니다. 유니코드의 경우 [\P{Nd}]와 같고, 비유니코드 ECMAScript 동작의 경우 [^0-9]와 같습니다.
Regex 메서드
Escape / Unescape 식에서 리터럴로 사용하기 위해 문자열에서 메타 문자 의미를 해제합니다.
IsMatch 입력 문자열에서 일치하는 항목을 찾을 경우 True를 반환합니다.
Match 입력 문자열에서 일치하는 항목을 찾을 경우 Match 개체를 반환합니다.
Matches 입력 문자열에서 찾은 일치 항목이 모두 포함된 MatchCollection 개체를 반환합니다.
Replace 입력 문자열에서 일치하는 항목을 지정된 바꾸기 문자열로 바꿉니다.
Split 입력 문자열을 regex 일치 항목으로 구분하여 배열 요소로 나눔으로써 문자열 배열을 반환합니다.
Regex 옵션
Compiled 루프에서 많은 일치 작업을 수행할 경우 이 옵션을 사용합니다. 이 옵션을 사용하면 각 반복 작업에서 식의 구문 분석 단계를 줄일 수 있습니다.
Multiline 입력 문자열에 몇 줄이 있는지와 아무 상관이 없습니다. 오히려 이 옵션은 단순히 ^ 및 $의 동작을 수정하므로 전체 입력 문자열의 시작과 끝 대신 BOL 및 EOL과 일치합니다.
IgnoreCase 패턴에서 검색 문자열을 일치시킬 때 대/소문자를 무시합니다.
IgnorePatternWhitespace 패턴에 원하는 수만큼 공백을 넣을 수 있으며 (?# comment #) 구문을 사용하여 패턴 내 주석을 사용할 수 있게 합니다.
SingleLine 입력 문자열에 몇 줄이 있는지와 아무 상관이 없습니다. 오히려 .(마침표) 메타 문자가 \n을 제외하고 모든 문자와 일치(기본값)하는 대신, 임의의 문자와 일치하도록 만듭니다.
둘러보기 기능
(?=…) 긍정적 예측(Positive Lookahead)
(?!...) 부정적 예측(Negative Lookahead)
(?<=…) 긍정적 분석(Positive Lookbehind)
(?<!...) 부정적 분석(Negative Lookbehind)
영어
^[a-zA-Z''-'\s]{1,40}$
John Doe
O'Dell
Social Security Number
^\d{3}-\d{2}-\d{4}$
111-11-1111
전화번호
^[01]?[- .]?(\([2-9]\d{2}\)|[2-9]\d{2})[- .]?\d{3}[- .]?\d{4}$
(425) 555-0123
425-555-0123
425 555 0123
1-425-555-0123
이메일
^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$
someone@example.com
URL
^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]*)?$
http://www.microsoft.com
패스워드
(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{8,10})$
양수
^\d+$
^[^-][0-9]$
0 986
양의 실수
^\d+(\.\d\d)?$
1.00
실수
^(-)?\d+(\.\d\d)?$
^[+-]?\d*\.?\d*$
^[+-]?\d+(\.\d+)?$
1.20
'Programming > Java Script' 카테고리의 다른 글
[스크랩] 팝업 관련 함수 (0) | 2010.03.26 |
---|---|
[스크랩] 유용한 함수들 (0) | 2010.03.26 |
항상따라다니는 Div창 & 자동 창 크기 설정 스크립트 (0) | 2010.03.23 |
Window 객체 속성 (0) | 2010.03.23 |
윈도우 창 크기 알아오기 (0) | 2010.03.22 |
Asp.Net 에서 페이지 따라 댕기기 (0) | 2010.02.24 |
정규식 표현 (0) | 2010.02.18 |
HTML 페이지 주소 인코딩/디코딩 하는 방법 (0) | 2010.02.18 |
asp.net TextBox 컨트롤 javascript에서 ID 불러오기 (0) | 2010.02.18 |
웹 브라우저 정보 가져오기 < navigator > (0) | 2010.02.17 |