Page 400 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 400
정보통신기기 프로젝트
VII. 소프트웨어
1. 기초 지식
가. 정규 언어
정규 언어(regular language), 합리적 언어(rational language)[1][2]는 이론 전산학, 형식 언어 이론
에서 정규 표현식을 이용하여 표현할 수 있는 형식 언어이다.
정규 언어는 유한 오토마톤이 인지하는 언어로 정의할 수도 있다. 정규 표현식과 무한 오토마타의 등
가성은 클레이니의 정리로 알려져 있다. 촘스키 위계에서 정규 언어는 3형 문법(정규 문법)에 의해 생성
되는 언어로 정의된다.
나. 정규 표현식
정규 표현식(正規表現式, 영어: regular expression, 간단히 regexp 또는 regex) 또는 정규식(正規式)
은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. 정규 표현식은 많은 텍
스트 편집기와 프로그래밍 언어에서 문자열의 검색과 치환을 위해 지원하고 있으며, 특히 펄과 Tcl은
언어 자체에 강력한 정규 표현식을 구현하고 있다.
컴퓨터 과학의 정규 언어로부터 유래하였으나 구현체에 따라서 정규 언어보다 더 넓은 언어를 표현할
수 있는 경우도 있으며, 심지어 정규 표현식 자체의 문법도 여러 가지 존재하고 있다. 수많은 프로그래
밍 언어가 정규 표현식 기능을 제공하고 있으며, 일부는 펄, 자바스크립트, 루비, Tcl처럼 기본 내장되
어 있는 반면 닷넷 언어, 자바, 파이썬, POSIX C, C++ (C++11 이후)에서는 표준 라이브러리를 이용하
여 구현한다. 그 밖의 대부분의 언어들은 라이브러리를 통해 정규식을 제공한다.
기본개념
주로 패턴(pattern)으로 부르는 정규 표현식은 특정 목적을 위해 필요한 문자열 집합을 지정하기 위해
쓰이는 식이다.
정보통신기기과
- 393 -