Kim VamPa

[정규표현식][zvon tutorial] Page11, Page12 본문

공부/정규표현식

[정규표현식][zvon tutorial] Page11, Page12

Kim VamPa 2020. 4. 28. 09:26
728x90
반응형

[생활코딩]의 '정규표현식'강의를 개인 공부 후 자료를 남기기 위한 목적이기에 내용 상에 오류가 있을 수 있습니다.


 zvon.org 홈페이지에서 소개하는 정규표현식 튜토리얼(Regular Expressions Tutorial)을 Page단위로 합니다 공부를 위한 URL은 다음과 같습니다. 

http://zvon.org/comp/r/tut-Regexp.html#Pages~Contents

목표

  • zvon홈페이지에서 제공하는 정규표현식 튜토리얼 Page11, Page12를 공부합니다. 

목차

1. Page11

2. Page12

3. 요약

 

 

1. Page11

그림1

 

 Page11에서는 수량자(Quantifiers)에 대해서 배웁니다.  수량자란 어떠한 패턴이 얼만큼 등장하는가에 대한 숫자를 나타내는 것입니다. 수량자엔 크게 '*', '+', '?'가 있습니다. Case를 살펴보면서 해당 특수문자의 사용법을 알아보겠습니다.

 Case1에서는 '*'을 사용하였습니다. '*'는 해당 특수문자 앞에 지정된 문자가 '없을 수도 있고 하나 이상 반복된다'라는 의미입니다. 정규표현식으로 "a*b"가 사용되었는데 b는 존재하고 앞의 a라는 문자가 없거나 한 개이거나 혹은 그 이상 반복된다는 말입니다. 결과를 보시면 a가 없는 'b'가 탐색되었고, a가 하나 존재하는 'ab'가 탐색되었고, 마지막으로 a가 두 번 반복된 'aab'가 탐색되었습니다.

 Case2에서는 '+'를 사용하였습니다. '+'는 해당 특수문자 앞에 지정된 문자가 '하나 이상의 반복적인 문인 문자가 존재한다'는 의미입니다. 정규표현식으로 "a+b"를 사용하였습니다. 의미는 b는 존재하고 a라는 문자가 반드시 한개 이상의 문자가 반복된다는 의미입니다. 결과를 보시면 a가 한 개 존재하는 'ab', a가 두 번 반복한 'aab'가 검색된 것을 볼 수 있습니다.

 Case3에서는 '?'가 사용 되었습니다. '?'는 해당 특수문자 앞에 지정된 문자가 ' 없거나 한 개 존재한다'는 의미입니다. 해당 Case에선 "a?b"가 사용되었습니다. 의미는 b는 존재하고 a라는 문자는 없을 수도 있고 한 개 존재할 수도 있다는 말입니다. 결과를 보시면 a가 한 개 존재하는 'ab'가 2개 탐색되었고, a가 존재하지 않는 b가 탐색되었습니다. 

 

2. Page12

그림2

 

 Page11은 수량자 중 '*'을 응용한 예제들 입니다. 먼저 Case1을 보겠습니다. 정규표현식으로 특수문자"."와 수량자 "*"을 사용하였습니다. "."이 한 개 사용되었을 경우 모든 문자가 검색됩니다. 그에 더해 "*"는 앞의 문자가 0개이거나 한 개 이상 반복 이기 때문에 결과는 모든 문가 검색될 것입니다. 결과를 보면 모든 문자가 검색된 것을 볼 수 있습니다.

 Case2경우 지정 문자로는 '-' 2개가 사용되었고 그 사이에 "A*"수량 자가 사용되었습니다. 따라서 해당 정규표현식의 의미는 양쪽 끝에 '-'는 반드시 존재하고 그사이에 A가 없거나 한 개 이상 반복한다는 의미입니다. 결과를 보면 "--"가 검색된 것을 볼 수 있습니다.

 Case3 경우 "[ ](대괄호)"와 결합한 예시입니다. 대괄호는 대괄호안의 문자 후보군 중 일치하는 한 개의 단어를 찾는 기능을 가지고 있습니다. 따라서 해당 Case에서 사용한 정규표현식("[-@]*")의 의미는 '-'문자 또는'@'문자가 반복되는 것을 찾는 것입니다. 검색 결과를 보시면 '-@-', '--', '--', '-@-'이 검색된 것을 볼 수 있습니다. 

 

 

2. 요약

1. "a*b" => a가 존재 하지 않거나 a가 한 개 이상 반복한다. ('b', 'ab', 'aab', aa... aab')

2. "a+b" => a가 한 개 이상 반복한다. ('ab', 'aab', aa...aab')

3. "a?b" => a가 존재하지 않거나 a가 한 개 존재한다. ('b', 'ab')

 

Reference

Date

  • 2020.04.28 작성

 

 

 

 

728x90
반응형
Comments