clear_uncertainty

정규표현식(Regular Expression)에 대하여 - 문자그룹, 특정문자와 범위, 서브패턴 (5~10) 본문

언어/정규표현식(Regular Expression)

정규표현식(Regular Expression)에 대하여 - 문자그룹, 특정문자와 범위, 서브패턴 (5~10)

SOidentitiy 2021. 10. 7. 17:10
728x90

본 포스팅은 생활코딩님의 정규표현식 토픽을 공부하고 정리한 내용입니다.

본 포스팅의 패턴(Page) 및 설명은 http://zvon.org/comp/r/tut-Regexp.html#Pages~Contents 를 참고했습니다.

 

 


정규표현식 패턴들

Page 5

기호 .은 모든 특성(문자, 공백, 기호 등)을 검출합니다.

Source : Regular expressions are powerful!!!

Case1

Regular Expression  .
First match Regular expressions are powerful!!!
All match Regular expressions are powerful!!!

따라서 .은 처음에 맨 앞 텍스트 R을 검출하고 그 후, 모든 문자를 검출합니다.

Case2

Regular Expression  ......
First match Regular expressions are powerful!!!
All match Regular expressions are powerful!!!

...... 처럼 .이 6개가 있다면 First match 에서 앞 6 글자 Regula를 검출합니다. 그리고 6개씩 검출을 하다보면

(Regula/r expr/ession/s are /powerf///ul!!!) ul!!!은 5글자이므로 검출이 안됩니다. 따라서 'ul!!!'을 제외한

'Regular expressions are powerf' 만 검출됩니다.

Page 6

기호 .이 아닌 문자.을 검출하고 싶을 때도 마찬가지로 \를 통해 escaping 을 해주면 됩니다.

Source : O.K.

Case1

Regular Expression  .
First match O.K.
All match O.K.

 Case2

Regular Expression  \.
First match O.K.
All match O.K.

Case3

Regular Expression  \..\.
First match O.K.
All match O.K.

\..\.은 문자.과 문자. 사이에 .이 있는 형태로써 .과 . 사이의 모든 특성(any character)을 검출합니다.

따라서 . 과 . 사이에 있는 K를 검출합니다. 

Page 7

기호 "[]" 안에 있는 요소 중 하나가 포함된다면 그 텍스트는 검출됩니다.

Source : How do you do? 

Case1

Regular Expression  [oyu]
First match How do you do?
All match How do you do?

대괄호 [] 안에 oyu 가 있기때문에 처음엔 o를, 결국엔 o , y, u를 모두 검출합니다.

Case2

Regular Expression  [dH].
First match How do you do?
All match How do you do?

[dH]. 는 [dH] 하나와 . 하나를 합해 두개의 문자를 의미합니다.

따라서 How do you do? 에서 d나 H를 검출하고 .이 있기때문에 d나 H의 뒤 까지 두 문자를 검출합니다.

Case3

Regular Expression  [owy][yow]
First match How do you do?
All match How do you do?

[owy][yow]는 o, w, y 중 하나와 y, o, w 하나를 포함하는 텍스트를 검출하는 것입니다. 

따라서 ow, yo 를 검출합니다. do는 o가 yow를 포함하지만 d가 owy를 포함하지 못하기 때문에 검출되지않습니다.

Page 8

기호 "-" 을 통해 대괄호 안에서 range를 표현할 수 있습니다. 

Source : ABCDEFGHIJKLMNOPQRSTUVWXYZ

               abcdefghijklmnopqrstuvwxyz 0123456789 

Case1

Regular Expression  [C-K]
First match ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz 0123456789
All match ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz 0123456789

[C-K]는 [CDEFGHIJK]와 정확히 일치합니다.

Regular Expression  [C-Ka-d2-6]
First match ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz 0123456789
All match ABCDEFGHIJKLMNOPQRSTUVWXYZ 
abcdefghijklmnopqrstuvwxyz 0123456789

[C-Ka-d2-6]은 [C-K], [a-d], [2-6]을 연속으로 실행한 것과 일치합니다.

Page 9

9페이지에서는 ^의 다른 기능에 대해서 알아봅시다.

^을 대괄호 안에서 쓰게되면 부정의 의미로 사용됩니다.

Source : ABCDEFGHIJKLMNOPQRSTUVWXYZ

               abcdefghijklmnopqrstuvwxyz 0123456789 

Case1

Regular Expression  [^CDghi45]
First match ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz 0123456789
All match ABCDEFGHIJKLMNOPQRSTUVWXYZ 
abcdefghijklmnopqrstuvwxyz 0123456789

따라서 [^CDghi45]는 CDghi45 을 제외한 텍스트를 검출합니다.

Case2

Regular Expression  [^W-Z]
First match ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz 0123456789
All match ABCDEFGHIJKLMNOPQRSTUVWXYZ 
abcdefghijklmnopqrstuvwxyz 0123456789

[^W-Z]는 마찬가지로 [W-Z]을 제외한 텍스트를 검출합니다.

Page 10

( ) 와 | 를 통해 텍스트를 검출할 수 있습니다.

Source : Monday Tuesday Friday

Case1

Regular Expression  (on|use|rida)
First match Monday Tuesday Friday
All match Monday Tuesday Friday

(on|use|rida)는 on 과 use 와 rida를 검출합니다.

Case2

Regular Expression  (Mon|Tues|Fri)day
First match Monday Tuesday Friday
All match Monday Tuesday Friday

(Mon|Tues|Fri)day 는 Mon, Tues, Fri를 검출함과 동시에 day를 같이 검출합니다.

따라서 (Mon|Tues|Fri)day 는 (Monday|Tuesday|Friday)와 일치합니다.

Case3

Regular Expression  ..(id|esd|nd)ay
First match Monday Tuesday Friday
All match Monday Tuesday Friday

..(id|esd|nd)ay 또한 앞서 배운 것처럼 id, esd, nd 와 함께 ay를 검출함과 동시에 ..를 통해 앞의 두 글자도 같이 검출합니다.


출처

 

 

Regular Expression and its importance in programming | Geekboots

Regular Expression is the most important part of programming - Geekboots

www.geekboots.com

 

정규표현식 패턴들 - 생활코딩

본 수업은 zvon의 정규표현식 tutorials를 이용한다. 실제 강의는 동영상을 참고하자. zvon은 아래의 URL을 통해서 접근 할 수 있다. http://zvon.org/comp/r/tut-Regexp.html#Pages~Contents 아래는 인터렉티브하게 정

opentutorials.org

 

Regular Expressions Tutorial @ZVON.org

 

zvon.org

 

728x90