Kim VamPa

[정규표현식][zvon tutorial] Page3, Page4 본문

공부/정규표현식

[정규표현식][zvon tutorial] Page3, Page4

Kim VamPa 2020. 4. 20. 09:30
728x90
반응형

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


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

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

목표

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

목차

1. Page3

2. Page4

3. 요약

 

 

1. Page3

그림 1

 

 특수 문자 "^", "$"에 대해 설명을 하고 있습니다. "^"는 캐럿이라고 불립니다. "^"뒤에  자신이 찾고자 하는 문자를 사용을 하면 검색 대상이 되는 문장에서 찾고자 하는 문자중 첫 번째 문자를 찾습니다. 문자가 2개 이상이더라도 첫 번째 문자만 찾습니다. 

 "$"는 "^"과는 반대로 검색하고자 하는 문자 바로 뒤에 붙여서 사용합니다. 검색대상이 되는 문장에서 찾고자 하는 문자중 마지막 문자를 찾습니다. "$" 또한 2개 이상의 검색대상 문자가 있더라도 마지막 문자만을 검색합니다.

 예시 Case1, Case2를 보시면 who라는 단어를 찾고자 하고 있습니다. 검색 대상 문장에 who라는 단어가 2개가 있습니다. 그럼에도 불구하고 "^who"는 첫 번째 who를 검색하였고, "who$"는 마지막 who를 검색한 것을 보실 수 있습니다.

 

2. Page4

그림 2

 이번 튜토리얼에선 Page4에서 배웠던 특수 문자 "^"와 "$"를 단순히 문자로 사용되길 원할 경우 어떻게 해야 하는가에 관한 설명을 하고 있습니다. 해당 두 개의 특수문자를 단순한 문자로 사용되길 바랄 경우 특수문자 앞에 "역슬래시(Enter키 바로 위)"를 붙여 주어야 합니다. 예시를 통해 살펴보겠습니다.

 Case1의 경우 정규표현식을 "^$"을 사용하였습니다. 이러한 정규 표현식을 사용한 의도를 생각해보면 "$"문자 중 제일 첫 번째를 찾고자 하였을 것입니다. 하지만 결과를 보시면 아무것도 검색이 되지 않은 것을 볼 수 있습니다. 이는 "$"를 단순한 문자로 인식을 하지 않고 특수문자로 인식이 되었기 때문입니다.

 Case2를 보시면 "$"앞에 역슬래시를 사용하였습니다. 그 결과 "$" 문자가 모두 검색이 되신 것을 볼 수 있습니다. 이는 특수문자가 아닌 단순한 일반 문자로 인식되었기 때문에 검색된 결과입니다.

 Case3의 경우 "^\$"를 사용하였습니다. 이는 "$" 일반 문자 중에 첫 번째 문자를 찾고자 한 정규표현식입니다. 결과를 보시면 검색 대상 문자 중 제일 앞의 "$"문자를 찾으신 걸 볼 수 있습니다.

 Case4의 경우 "\$$"를 사용했습니다. 이는 일반 문자 "$"중 제일 마지막 문자를 찾고자 하는 정규 식입니다. 마찬가지로 결과를 보시면 검색 대상 문자 중 제일 마지막의 "$"문자를 찾으신 걸 보실 수 있습니다.

 Case5는 "\\"로 역슬래시 두 개를 사용하였습니다. 의미는 "\" 일반 문자를 찾고자 하는 의미입니다. "\(역슬래시)"또한 특수 문자 이기 때문에 검색 대상 문장에서 일반 문자"\"를 검색하고 싶으시다면 "\"을 앞에 붙여주어서 해당 문자가 일반 문자로 변환되게 만들어져야 합니다. 검색 결과를 보시면 "\"문자를 모두 찾으신 것을 보실 수 있습니다.

 

 

 

2. 요약

1. "^+찾고자 하는 문자,단어" => 검색대상중 찾고자하는 문자 혹은 단어 중 제일 첫 번째를 검색합니다.

2. "찾고자 하는 문자,단어+$" => 검색대상중 찾고자하는 문자 혹은 단어 중 제일 마지막을 검색합니다.

2. 특수문자(^,$,\)를 일반 문자로 인식시켜야 할 경우 앞에 "|"를 붙여주면 됩니다.

 

Reference

Date

  • 2020.04.20 작성

 

 

 

 

728x90
반응형
Comments