본문 바로가기

IT 인터넷/정규표현식

[정규표현식] 패턴 기본

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

정규표현식에 대해서 알아보자. 

정규표현식이란 어떤 문자를 처리하기 위한 일종의 언어이다. 


예를들어 특정 글에서 '안녕'이라는 문자를 찾고 싶다면, 그리고 그 문자를 '잘가'라고 바꾸고 싶다면 

자신이 처리하고자 하는 문자를 정규표현식의 문법에 맞게 찾을 수 있어야 한다.


정규표현식에 관한 사이트는

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

이며, 난이도가 낮은 것부터 높은 것까지 하나하나 배워나갈 수 있는 사이트이다.



 이 사이트의 page1부터 살펴보자.

정규표현식의 가장 기본적인 문법이라고 할 수 있는 것은

내가 찾고자 하는 text가 있다면, 그 text를 그대로 적어주는 것이다.


'Hello, world!' 라는 소스가 있다고 하자.

여기서 정규표현식으로 Hello로 입력하면


First match:Hello, world!

All matches:Hello, world!


이렇게 Hello 가 선택된다.
하지만  정규표현식으로 hello를 입력하면 

First match:Hello, world!
All matches:Hello, world!


이처럼 어떤 문자도 선택되지 않는다.

이렇게 되는 이유는, 정규표현식이 기본적으로 대소문자를 구별(case sensitive)하기 떄문이다.



다음으로 page2의 내용을 보자.


여기서도 'Hello, world!' 라는 소스로 알아보자.

이를 자세히 살펴보면 Hello+,+(띄어쓰기)+world 이다.


만약 정규표현식으로 Hello, world라 입력하면 결과는 


First match:Hello, world!

All matches:Hello, world!

이처럼 선택된다.


하지만 정규표현식으로 Hello,     world라 입력하면

First match:Hello, world!
All matches:Hello, world!

이처럼 아무것도 선택되지 않는다.

소스는 Hello, 하고 띄어쓰기를 한번 했는데 여러번 했기 때문에 일치하지 않기 때문이다.


이처럼 정규표현식은 공백문자(space,tab,new line)을 포함한다.