자바스크립트 정규식

Language/JAVASCRIPT 2012. 1. 4. 23:51

정규 표현식
  - 정해진 패턴을 사용해서 패턴에 일치하는 데이터 검색을 지원하는 표현식

 

특수문자

1.  '.' 특수 문사
   1-1 설명 : '.'는 어떤 글자던 임의의 한 글자를 가르킨다.
   1-2 예제 : a.c = abc, acc, adc 등  한글자만 대신한다.
    - ex) s.e -> sae, sbe, sce, sde ...
           .ce -> ace, kce, dce ...

 

2. '*' 특수 문자
   
2-1 설명 : '*'는 바로 앞의 문자를 의미, 그 문자가 없거나 하나 이상임을 나타낸다.
   2-2 예제 : a*b = baabaaab 등 b앞에 a가 없거나 하나 이상 존재하는 문자열과 일치
    - ex) s*e -> e, se, sse, ssse ...
           abc* -> ab, abc, abcc, abccc ...
           h*im -> im, him, hhim, hhhim ...

 

3. '+' 특수 문자
   3-1 설명 : '+'는 바로 앞의 문자를 의미, 그 문자가 하나 이상인 패턴을 가리킨다
   3-1-1 추가 설명 :  '*' 와 마찬가지로 앞에 하나의 문자가 있어야한다.
   3-2 예제 : a+b = abaababfsfb등 b앞에 a가 최소 하나 이상 존재하는 문자열과 일치
    - ex) s+e -> se, sse, ssse ...

 

4. '?' 특수 문자
   4-1 설명 : '?' 는 바로 앞의 문자를 나타내고 그 문자가 없거나 1개임을 나타낸다.
   4-1 예제 : ab?c = acabc a와 c사이에 b가 있거나 없는 문자와 일치
    - ex) th?e -> te, the

 

5. '^' 특수 문자
   5-1 설명 : '^'는 바로 뒤의 문자열을 의미 그 문자열로 시작되는 것을 나타냄
   5-2 예제 : ^abc = abc is alpabet, abcdefg 등의 문자열과 일치
    - ex) ^The -> The girl is, Theater
           ^a?bc ->bc, abc ...
           ^.e -> he, me, request, settle ...
           ^s.e? -> sa, sae, sb, sbe ...

 

6. '$' 특수 문자
   6-1 설명 : '$'는 바로 앞의 문자열을 의미하며 그 문자열로 끝나는것을 나타낸다.
   6-1-1 추가 설명 : '^'가 제일 앞에 들어가면 '$'는 문자열 끝부분 패턴을 나타낸다.
   6-2 예제 : ab= dddab, cccab, eeeab등 ab로 끝나는 문자열과 일치
    - ex) a?bc$ -> eeabc, seebc, bc ...
           t.e$ -> onthetoe, bctae, appetitte ...
           s?e+$ -> e, se, ee, eee, seee, seee ...

 

7. '[]' 특수 문자
   7-1 설명 : '[]'안에 있는 문자열중 하나를 포함한 문자를 의미한다.
   7-1-1 추가 설명 : '[]'안에서는  ' - ' 로범위지정이 가능하다. 예:[a-c] = abc
   7-2 예제 : [abc]d = affdbegdcard 등 a,b,c를 포함한 문자열과 일치
    - ex) [ab]cd -> acd, bcd ...
           ^[ab]cd -> acdtest, bcdest ...
           [a-z] -> 영문소문자
           [a-zA-Z] -> 영문자
           [0-9] -> 숫자
           ag[a-z] -> aga, agbcd, agzzz ...
           ^ab[cd]ef -> abcef, abdef ...
           ^[a-zA-Z] -> 영문자로 시작
           [a-zA-Z0-9]$ -> 영문자나 숫자로 종료
          
 [^a-zA-Z] -> 영문자는 제외(^이 []안에 들어가면 의미가 틀려짐)

 

8. '{}' 특수 문자
   8-1 설명 : '{}'는 앞에 있는 문자나 문자열의 개수를 나타낸다.
   8-2 예제 : a{2}b = aa
b
    - ex) a{2}b -> aab
            a{2,}b -> aab, aaab, aaaab ...
            a{2,3}b -> aab, aaab


9. '()' 특수 문자
   9-1 설명 : '()'안에있는 문자열을 그룹화 한다. 
   9-2 예제 : a(bc) = abcbcabcbcbc abc를 포함한 모든문자열과 일치
                 
단, abc중 bc는 한 그룹이다.
    - ex) a(bc){2} -> abcbc
            a(bc)* -> abcbcbc ...

 

10. '|' 특수문자
   10-1 설명 : '|' 는
 or 연산자이다
   10-2 예제 : i | you = am busy, you have... 등 i나 you를 포함한 문자열과 일치
    - ex) he|she -> he, she is ...
           (he|she)is -> heis, sheis ...

11. 특수 문자 사용
   - ^ . [ ] $ ( ) | * + ? { } \
   - 앞에 \붙혀서 사용
   - ex) \*+ -> *가 하나 이상 포함된 패턴

 

12. 문자 클래스
   12-1 : [[:alpha:]] 알파벳 문자중 하나
 [a-zA-Z], [a-Z]와 동일
   12-2 : [[:digit:]] 숫자 한자를 의미 
[0-9] 와동일
   12-3 : [[:alnum:]] 알파벳 문자나 숫자중 하나를 의미 
[a-zA-Z0-9]와 동일
   12-4 : [[:space:]] 공백 문자

 

문자 클래스
1. \w [a-zA-Z_0-9] 단어 문자를 나타냅니다.
2. \W [^a-zA-Z_0-9] 단어 문자가 아닌 문자를 나타냅니다.
3. \s [ \f\n\r\t\v] 공백 문자를 나타냅니다.
4. \S [^ \f\n\r\t\v] 공백 문자가 아닌 문자를 나타냅니다.
5. \d [0-9] 10십진수를 나타냅니다. 
6. \D [^0-9]10진수가 아닌 숫자를 나타냅니다.

[출처] HTML/JavaScript 정규식 |작성자 ezmo01

: