REGULAR EXPRESSION ( 정규 표현식 )


Basic Concepts

What is Regular Expression?

정규 표현식이란, 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어이다.

  • 즉 쉽게 말해 문자열을 다루는 하나의 언어이다.

주로 Programming Language나 Text Editor 등에서
특정 문자열의 검색, 치환 등의 처리를 위한 용도로 사용된다.


How to Express

정규 표현식은 언어마다 문법이 다르기 때문에, 표준을 먼저 정의할 필요가 있다.
크게 나누면 표준인 POSIX의 BRE와 ERE가 있고, 여기서 문법을 확장한 Perl 호환 정규 표현식으로 나뉜다.

  • 표준
    • POSIX1) 기반의
      • 기본 정규 표현식( BRE : Basic Regular Expression )
      • 확장 정규 표현식( ERE : Extended Regular Expression )
  • 비표준
    • Perl 호환 정규 표현식


1) POSIX란?

이식 가능 운영 체제 인터페이스( Portable Operating System Interface )의 약자로,
서로 다른 UNIX OS의 공통 API를 정리해 이식성이 높은 유닉스 응용 프로그램을 개발하기 위해
IEEE가 책정한 애플리케이션 인터페이스 규격이다.




이러한 정규 표현식에서 사용하는 기호들을 메타문자( Meta Character )라 한다.
메타문자는 표현식 내에서 특정한 의미를 갖는 문자를 일컫는다.
BRE 및 ERE의 메타문자 12개 존재한다.


no.POSIX BRE syntaxadded POSIX ERE syntax
1.^
2.$
3..
4.*
5.\
6.(
7.)
8.{
9.[
10.+
11.?
12.|

  • 종료 대괄호 ]나 하이픈 -은 대괄호 [ 뒤에 올 경우에만 메타문자로 인식한다.
  • 종료 중괄호 }는 { 뒤에 올 경우에만 메타문자로 인식한다.
  • 반면 소괄호 )는 대괄호, 중괄호와 달리 메타문자로 인식하는데,
    소괄호는 무조건 ()가 쌍으로 존재하지 않으면 에러처리하기 때문에
    메타문자로 다룬다.
  • 이러한 메타문자들 앞에 백슬래시 \를 사용하면 일반 문자로 인식할 수 있다.


블로그 이미지

차트

소소한 일상 C코드 DB 항상 행복하게^-^★

,