본문 바로가기

소프트웨어/개발관련

정규 표현식을 배워보자 #04 특정 문자와 서브패턴

원문은 ZVON의 Regular Expressions Tutorial을 참조하면됨

 

Page 9

문장의 시작을 의미하는 ^이 대괄호 [ ]안에서 사용될경우 부정(Not)의 의미로 사용됨

Source

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789

^ [ ]안에서는 Not의 의미로 사용됨

Test Case

Case 1

Regular Expression:

[^CDghi45]

First match:

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789

All matches:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 0123456789

C,D,g,h,I,4,5 문자가 아닌 다른 문자들을 의미

Case 2

Regular Expression:

[^W-Z]

First match:

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789

All matches:

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789

W,X,Y,Z가 아닌 문자들을 의미

 

Page 10

소괄호( )와 파이프라인 |을 이용하여 서브패턴을 정의할 수 있다.

Source

Monday Tuesday Friday

서브패턴 정의시 소괄호 안에 |로 구분하여 검색하려는 문자열을 정의

※ 참고 : 대괄호[ ]는 문자 1개를 의미하지만, 소괄호( )는 문자열을 의미

Test Case

Case 1

Regular Expression:

(on|ues|rida)

First match:

Monday Tuesday Friday

All matches:

Monday Tuesday Friday

문장에 on, ues, irda문자열이 있는지 검색

Case 2

Regular Expression:

(Mon|Tues|Fri)day

First match:

Monday Tuesday Friday

All matches:

Monday Tuesday Friday

(Mon|Tues|Fri)day(Monday |Tuesday |Friday)와 동일한 의미로

문장에 Monday, Tuesday, Firday가 있는지 검색

Case 3

Regular Expression:

..(id|esd|nd)ay

First match:

Monday Tuesday Friday

All matches:

Monday Tuesday Friday

문장에 임의의 2개 문자로 시작하는 iday, esday, nday문자열이 있는지 검사