2015년 12월 8일 화요일

정규표현식2

이어서 정규표현식의 서브패턴에 대해 알아보겠습니다.

|(파이프): 문자열 중에서 원하는 텍스트를 선택하고 싶은 경우 사용

      ex) Monday Tuesday Friday 문자열

           (on|ues|rida) --->>> 문자열 중에서 on이나 ues나 rida 추출하고 싶을 경우
                                      
                                       결과 First match: on 
                                              All matches: on, ues, rida

           (Mon|Tues|Fri)day --->>> 공통되는 부분을 서브패턴으로 빼서 추출하는 경우
                                      
                                       결과 First match: Monday
                                              All matches: Monday, Tuesday, Friday

           ..(id|esd|nd)ay --->>> 패턴 앞에 두개의 문자와 ay가 끝인 문자 추출하는 경우
                                                                                                 
                                       결과 First match: Monday('nd'앞에 'Mo'가 있고, 'ay'로 끝)
                                              All matches: Monday, Tuesday, Friday


수량자: 어떠한 패턴이 얼만큼 등장하는 가 숫자로 나타내는 경우

수량자에는 총 3가지가 있다 --->>> '*', '+', '?'

*(별): '*' 앞에 등장하는 문자가 몇번 등장하는지 판단 (0개 ~ 여러개)

      ex) aabc abc bc 문자열

           a*b --->>> b를 기준점으로 보고, b앞에 a가 있을 수도 있고, 없을 수도 있다.
                           즉, a가 0개, 1개, 여러 개여도 만족!

                           결과 First match: aab
                                  All matches: aab, ab, b

+(더하기): '+' 앞에 문자가 1개 ~ 여러개 인 경우

           a+b --->>> b앞에 a가 오는데, 반드시 1개 이상이여야 한다.

                           결과 First match: aab
                                  All matches: aab, ab

?(물음표): '?' 앞에 문자가 없거나, 1개 인 경우

           a?b --->>> b앞에 a가 없는 경우나 1개 인 경우

                           결과 First match: ab (예문 aabc에서 맨 앞 a가 빠지고 ab가 선택됨)
                                  All matches: ab, ab, b

[]: 선택자 패턴의 후보군을 지정하는 경우

      ex) -@- ***--"*"--***-@- 문자열

           [-@]* --->>> 문자열 중 '-'나 '@' 중 하나만 있더라도 선택된다.
                             
                              결과 First match: -@-
                                     All matches: -@-, --, --, -@-

           [^ ]+ --->>> []안에 '^'는 Not을 의미하므로, 공백이 아닌 것을 가리킨다.
                             즉, 공백이 아닌 것이 1개 이상인 경우

                             결과 First match: -@-
                                    All matches: -@-, ***--"*"--***-@-

{}: 원하는 수량을 정확하게 지정하는 경우

      ex) .{5} --->>> 5가 수량자이다. 어떤 문자건 간에 5개의 문자를 선택한다는 의미

           One ring to bring 문자열에서 .{5}의 결과 값은 One r

           One ring to bring them all and in the darkness 문자열

           [els]{1,3} --->>> 'e'나 'l'이나 's'중 한 글자를 의미하고, 
                                  해당하는 문자가 1개 ~ 3개를 가리키는 의미

                                  결과 First match: e
                                         All matches: e, e, ll, e, ess 
                             
           AB{0,}A --->>> 앞에 A와 뒤 A 사이에 B가 0개 ~ 여러 개를 의미(즉, 0개 이상)

댓글 없음:

댓글 쓰기

결혼이민비자 신청방법(F-6-1 국민의 배우자)

 제가 일본인 여자친구와 결혼 후, 한국에 귀국하기 위해 신청한 결혼이민비자에 대하여 작성해보도록 하겠습니다. 필자는 일본에서 근무하고 있었으며, 한국에서의 소득은 없었습니다. 결혼이민비자를 신청한 날짜는 2021-04-21 이며, 사증이 발급된 날짜...