[정규식-elements 설명]

 

1. 참고site : ( http://zvon.org/comp/r/tut-Regexp.html )

 

2. elements 설명
   ^ : ^who - 첫번째 시작 문자(열)찾기
   $ : who$ - 마지막 시작 문자(열)찾기
   \ : escape
        \$ - $는 정규식 특수기호 이지만 \를 앞쪽에 붙이면서 

               \다음으로 나오는 정규식기호를 단순한 문자로 인식하게 한다.
       ^\$ - 첫번재 시작문자 $를 찾아줌
       \$$ - 마지막 문자$를 찾아줌
       \\ - \문자를  찾아줌
   . : 모든 문자를 매칭
       ...... :  . 이 6개이면 6개 문자를 매칭 (6개 문자열로 반복됨)
        \..\. : \. - 문자 .을 매칭
                .   - 이때 . 은 어떠한 문자든 매칭
                \. - 문자. 을 매칭
                \..\. - . 과 . 을 매칭하고,  . 과 . 사이의 모든 문자를 매칭
   [ ] : [oyu] - 검색하려는 문자열중에서 o, y, u가 존재시 모두 매칭
       : [dH].  - 검색하려는 문자열중에서 d,H 가 존재 하는 모두 매칭 하면서 . 에 의해서 바로 다음문자 1개를 매칭
       : [owy][you] - 검색하려는 문자열중에서 o,w,y가 존재하면서 y,o,u가 존재 하는 문자열 매칭
   [ - ] : range
         : [C-K] - 검색하려는 문자열중에서 C~K 범위의 문자가 존재시 모두 매칭
         : [C-Ka-d2-6]  - 검색하려는 문자열중에서 C~K, a~d, 2~6 범위의 문자가 존재시 모두 매칭
   [ ^ ] : not (부정)
           : [^cdGHI45] - 검색하려는 문자열중에서 c,d,G,H,I,4,5가 아닌 문자가 존재 시 모두 매칭
           : [^W-Z]  - 검색하려는 문자열중에서 W~Z가 아닌 문자가 존재 시 모두 매칭
   ( ) : (on|use|rida) - 검색하려는 문자열중에서 on, use, rida 가 존재하는 문자열을 모두 매칭
         (Mon|Tues|Fri)day - 검색하려는 문자열중에서 Monday, Tuesday, Fridday가 존재하는 문자열을 모두 매칭
         ..(id|esd|nd)ay - 검색하려는 문자열중에서 .. 문자열2개와 iday,esday, nday 가 존재문자열을 모두 매칭
                                  (검색 문자열 : Monday Tuesday Friday)
   *, +, ? : 수량 (Quantifiers)
   * : 0~n : 0~n개 존재 시 매칭
       a*b : b앞쪽에 a가 0~n개 존재 시 매칭
       .*    : . (모든문자)가 0~n개 존재 시 매칭
      -A*- : "- 앞쪽"에 A가 0~n개 존재할 수 있고 "그 앞쪽에 -" 는 반드시 1개 존재 해야 됨
                (위 설명 재 해석 : -A*-에서 "- 앞쪽"이란 -> 맨 뒤에 있는 - 를 가리킴. 
                                                             "그 앞쪽에 -" 이란 -> 맨 앞쪽에 있는 -를 가리킴)
      [-@]* :  검색 문자열중에 -, @가 0~n개 존재 시 매칭

   + : 1~n : 1~n개 존재 시 매칭
        a+b : 검색 문자열중에서 b앞쪽에 a가 1~n개 존재 시 매칭
        \*+  : 검색 문자열중에서 *문자가 1~n개 존재 시 매칭
        -@+- : - - 사이에 @가 1~n개 존재 시 매칭
        [^ ]+ : 공백이 아닌것이 1~n개 존재 시 매칭 (즉, 공백이 하나도 없으면 매칭)(공백을 제외한 모든문자가 매칭)
   ? : 0 ~ 1개 존재 시 매칭
       a?b : b앞쪽에 a가 0~1개 존재 시 매칭
       -X?XX?X : - : 앞쪽에 - 존재하면서 
                       X? : X가 0~1개 존재
                       X : X가 1개 존재
                       X? : X가 0~1개 존재
                       X : 맨뒤에 X가 하나 존재
       -@?@?@?- : - : 앞쪽에 - 존재하면서 
                             @? : @가 0~1개 존재
                             @? : @가 0~1개 존재
                             @? : @가 0~1개 존재
                             - : 맨뒤에 -가 하나 존재
   { } : 1~n개 존재 시 매칭
        .{5} : 어떠한 문자든 5글자 존재 시 매칭
        [els]{1,3} : 검색 문자열중에서 e,l,s 가 1 또는 3개 일 경우 매칭
        [a-z]{3,}  : 검색 문자열중에서 a~z까지 3개 이상 문자일 경우 매칭
        AB{0,}A = AB*A
        AB{1,}A = AB+A
        AB{0,1}A = AB?A

   r.* : 검색 문자열중에서 r - r문자가 존재 하면서 
                                         .* - .이 0~n개 존재 시 매칭
   r.*? : 검색 문자열중에서 r - r문자가 존재 하면서 
                                         .* - 
                                         ? - 수량자 뒤에 ?가 오면 기존 ? (0~1) 에 의미가 달라짐
                                            - 그래서 *? 는  *는 0~1개 인데, 이때 뒤쪽 1은 버리고, 앞쪽 0만 취해서 
                                                r은 존재 하면서 뒤쪽 문자가 없는 문자 매칭 (즉, r문자 하나만 매칭)
   r.+ : 검색 문자열중에서 r - r문자가 존재 하면서 
                                         .+ - .이 1~n개 문자 존재 시 매칭
   r.+? : 검색 문자열중에서 r - r문자가 존재 하면서 
                                         .+ - 
                                         ? - 수량자 뒤에 ?가 오면 기존 ? (1~n)에 의미가 달라짐
                                            - 그래서 +?는  +는 1~n 개 인데, 이때 뒤쪽 n은 버리고, 앞쪽 1만 취해서
                                                r은 존재 하면서 뒤쪽 문자 1개 문자 매칭 
   r.?  : 
   r.?? : 

   w,W, d, D : character classes
   \w : word(단어), alphanumeric 문자들을 매칭
   \w* : alphanumeric 문자이 0~n개 존재 시 매칭
   [a-z]\w* : a~z문자열이 존재 하면서 alphanumeric 문자이 0~n개 존재 시 매칭
   \w{5}     : alphanumeric 문자가 5 존재 시 매칭
   \W        : not word(단어가 아님), alphanumeric 문자들이 아닌 경우 매칭
   \d         : digit(숫자)
   \D        : not digit(숫자가 아님)
   b, B : word boundery
   \b         : 
   \B         : 
   \A         : 시작
        \A...   : 시작에서 3개의 문자가 매칭
   \Z          : 마지막
        \Z...  : 마지막에서 3개의 문자가 매칭

   \w+(?=X) : \w+ : alphanumeric 문자들이 1~n개 존재 하면서
                     ?=   : 뒤쪽 문자(X)가 존재 하면 매칭.  단, 문자(X)는 선택에서는 제외
   \w+        : 
   \w+(?=\w) : \w+ : alphanumeric 문자들이 1~n개 존재 하면서
                       ?=   : 뒤쪽 alphanumeric 문자(\w)가 존재 하면 매칭.  단, alphanumeric  문자(\w)는 선택에서는 제외

                  

Posted by 농부지기
,