Kim VamPa

[정규표현식][zvon tutorial] Page9, Page10 본문

공부/정규표현식

[정규표현식][zvon tutorial] Page9, Page10

Kim VamPa 2020. 4. 27. 09:29
728x90
반응형

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


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

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

목표

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

목차

1. Page9

2. Page10

3. 요약

 

 

1. Page9

그림1

 

 "^"는 Page3에서 배웠는데 "^+찾고자 하는 문자, 단어"를 사용했을 시 검색 대상 중에서 찾고자 하는 문자 혹은 단어 중 제일 첫 번째를 검색하는 특수문자였습니다. Page9에서는 "^"의 다른 역할에 대해 배웁니다.  "^"을 "[ ](대괄호)"안에서 사용했을 경우 'not'이라는 의미가 부여되는 특수문자가 됩니다. 

 예제를 바로 살펴보겠습니다. Case 1의 경우 "[ ]"안에 "^CDghi45"가 나열되어있습니다. 해당 정규표현식의 의미는 "^" 뒤의 문자(CDghi45)를 제외한 검색을 진행 해라는 의미가 됩니다. 검색 결과를 보시면 C, D, g, h, i, 4, 5가 를 제외한 모든 문자들이 검색된 것을 보실 수 있습니다.

 Case2는 Page8에서 배웠던 것을 응요한 문제입니다. "^"이 없을 경우 "[W-Z]"는 W에서 Z까지의 문자를 검색하라는 의미입니다. 하지만 W-Z앞에 "^"이 붙음으로써 W에서 Z까지 문자를 제외한 무든 문자를 검색하라는 의미가 됩니다. 결과를 보시면 W, X, Y, Z를 제외한 모든 문자가 검색된 것을 볼 수 있습니다.

 

2. Page10

그림2

 

 Page10은 "서브 패턴"에 관한 설명입니다.  "( )"문자 즉 소괄호 안에 파이프("|")로 구분하여 찾고자 하는 문자 들을 나열 하는 방식입니다. 검색 대상 문자 중에서 파이프로 구분 된 문자들 중에 일치하는 모든 문자를 찾아라는 의미입니다. 주의해야 할 점은 대괄호 안의 문자 경우 문자 한 개 한 개가 검색 대상이었지만 소괄호 엔에서 파이프로 구분된 문자들은 한 덩어리로 검색된다는 점입니다.

 Case 1은 "(on|ues|rida)" 정규표현식을 사용하였습니다. 의미는 'on', 'ues', 'rida' 해당하는 문자를 검색하라는 의미입니다. 결과로써 'on', 'uese', 'rida'가 검색되신 것을 볼 수 있습니다.

 Case2의 정규표현식은 (Monday|Tuesday|Friday) 서브 패턴과 동일한 정규표현식입니다. 단지 day라는 공통적으로 들어가는 문자를 서브패턴 밖으로 뺌으로써 결과는 같으면서 정규표현식 길이는 훨씬 줄어들게 하였습니다. 결과는 'Monday', 'Tuesday', 'Friday'가 검색되었습니다.

 Case3의 경우 Page 5에서 배웠던 "."특수문자와 결합한 문자입니다. "."특수문자는 모든 문자를 검색합니다. 따라서 의미는 '2개의 아무 문자' + 서브 패턴(id, esd, nd 중 하나) + 'ay' 조합의 문자에 해당하는 것을 검색하게 됩니다. 검색 결과 'Monday(Mo + nd +ay)', 'Tuesday(Tu+esd+ay)', 'Friday(Fr+id+ay)' 문자들이 검색되었습니다.

 

 

2. 요약

1. "[^+제외하고자 하는 문자]" => 검색 대상중 지정한 문자를 제외한 모든 문자를 검색

2. "(문자열|문자열|문자열)" => 검색 대상중 소괄호 안의 문자열중 일치하는 모든 문자를 검색합니다.

 

Reference

Date

  • 2020.04.27 작성

 

 

 

 

728x90
반응형
Comments