정규표현식이란?

특수한 텍스트 패턴에 일치하는지 여부를 검사하거나, 텍스트 내에서 특정 패턴과 일치하는 텍스트를 찾기 위해 사용하는 표현식
요즘은 어지간한 어플리케이션에서 모두 지원하고 있다.

정규표현식 툴
물론 돈을 주고 산다면 다양한 기능과 화려한 인터페이스를 자랑하는 툴도 많다. (RegexBuddy)
하지만.. 우리는 공짜를 좋아하기 때문에..
공짜인 "Rad RegexDesigner"를 추천한다

1. 바로 다운받아 사용하고 싶다면  (첨부 파일 클릭)
Rad.RegexDesigner.Setup.1.4.exe
2. 사이트에가서 설명을 보고 받고 싶다면..  (홈페이지 주소 클릭)

사용법은  "Input Text"에 문자열을 넣고 "Regular Expression"에 정규표현식을 넣은 후
상단에 있는 녹색 재생 버튼을 클릭하면 된다.
매칭 여부는 우측에 있는 "Match Results"에서 확인 가능하다"

예제의 경우 전체 문자열에서 정규표현식에 의해 매칭된 문자열이 네 개로 나온다.



그럼 초급 정규표현식에 대해 알아보자

1. 점( . )
 .
 임의의 한 문자 가리킨다. ( "줄바꿈 문자(\n)" 제외)
====================================
  
표현식  h.t
  
문자열  hat halt hit heat hot
====================================
  
표현식   h..t
  
문자열  hat halt hit heat hot
====================================

2. 대괄호 [ ]
 [ ]
안에 있는 문자중 하나를 가리킨다.
 [abc]    a,b,c
하나
 [a-z]    
알파벳 소문자 하나
 [0-9]    
숫자 하나
 [a-zA-Z]   
알파벳 소문자나 대문자 하나
====================================
  
표현식   h[aiu]t
 
문자열  hat het hit hot hut
====================================

3. 대괄호와 캐럿 [^ ]
 [^ ]
안에 있는 문자를 제외한 문자중 하나를 가리킨다.
 [^abc]    a,b,c
이외의 문자 하나
 [^a-z]    
알파벳 소문자 이외의 문자 하나
 [^0-9]    
숫자 이외의 문자 하나
 [^a-zA-Z]  
알파벳 소문자나 대문자 이외의 문자 하나
====================================
  
표현식   h[^aiu]t
  
문자열  hat het hit hot hut
====================================

4. 별표( * )
 *
바로 앞에 있는 문자가 0회 이상 반복되는 것을 가리킨다.
====================================
  
표현식   ha*t
  
문자열  ht hit hat hot haat hut haaaaat
====================================

5. 플러스(+)
 +
바로 앞에 있는 문자가 1회 이상 반복되는 것을 가리킨다.
====================================
  
표현식   ha+t
  
문자열  ht hit hat hot haat hut haaaaat
====================================

6. 물음표( ?)
 ?
바로 앞에 있는 문자가 0또는 1회 반복되는 것을 가리킨다.
====================================
  
표현식   ha?t
  
문자열  ht hit hat hot haat hut haaaaat
====================================

7. {n}
 {n}
바로 앞에 있는 문자가 n회 반복되는 것을 가리킨다.
====================================
  
표현식   ha{2}t
  
문자열  ht hit hat hot haat hut haaaaat
====================================

8. {n,}
 {n,}
바로 앞에 있는 문자가 n회 이 반복되는 것을 가리킨다.
 
{0,} 별표(*) 같은 의미이다.
 {1,} 더하기(+) 같은 의미이다
 {0,1} 물음표(?) 같은 의미이다
 
====================================
 
  표현식   ha{2,}t
 
  문자열  ht hit hat hot haat hut haaaaat
 
====================================
 

9. {n,m}
 {n,m}
바로 앞에 있는 문자가 n회 이상, m회 이하 반복되는 것을 가리킨다.
====================================
  
표현식   ha{2,4}t
  
문자열  ht hat haat haaat haaaat haaaaat
====================================

10. 캐럿( ^)
 ^
줄의 제일 처음(시작위치) 가리킨다.
====================================
  
표현식   ^h.t
  
문자열  hat hit hot
====================================

11. 달러( $)
 $
줄의 제일 마지막( 위치) 가리킨다.
====================================
  
표현식    h.t$
  
문자열  hat hit hot
====================================

 


Posted by KT한
,