C20::Dossier

정규 표현식

From C20::Dossier
Revision as of 00:01, 28 September 2020 by Clockoon (talk | contribs) (새 문서: == 개요 == 정규 표현식(또는 정규식, regular expression)을 간단하게 정의하면, ''문자열을 패턴 형식으로 선택하기 위해 사용하는 코드''라 할...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

개요

정규 표현식(또는 정규식, regular expression)을 간단하게 정의하면, 문자열을 패턴 형식으로 선택하기 위해 사용하는 코드라 할 수 있다.

이 페이지에서 사용하는 문법은 PCRE의 것을 사용한다. 자세한 내용은 #표준을 참고하라.

표준

정규 표현식은 여타의 다른 (패턴 형태의) 코드 중 특이하게도 명확하게 저립된 표준안이 존재하지 않는다. 크게 나누면 POSIX와 Perl (또는 PCRE)로 분류할 수 있는데, PCRE 또한 POSIX에서 기반하기는 했으나, 둘을 같은 계열로 묶기에는 좀 애매하다. 다만 현재 정규 표현식을 구현한 상당히 많은 프로그래밍 언어는 PCRE에 기반하고 있다. 사실상의 de facto라 할 수 있을 것이다. 그나마 vim 정도가, POSIX 기반의 정규 표현식을 제공하고 있다.

사실 POSIX든 PCRE든 기초적인 차원에서 사용할 수 있는 문법은 유사하므로, 적당히 텍스트를 선택하기 위해서는 사용 상에 크게 구애받을 수준은 아니다. 일종의 사투리 정도라 여기면 될 것이다.

문법

이 섹션은 pcresyntax man page의 내용을 요약한 것이다. 아래 pcrepattern 문서에서 핵심만 요약한 페이지다.

인용
\x (알파벳 또는 숫자가 아닌) x를 리터럴하게 취급(=패턴으로 취급하지 않음)
\Q...\E 사이의 문자를 리터럴하게 취급
문자
\a 알람 또는 BEL 문자(hex 07)
\cx 컨트롤-x
\e 이스케이프 (hex 1B)
\f form feed (hex 0C)
\n newline (hex 0A)
\r carriage return (hex 0D)
\t tab (hex 09)
\0dd character with octal code 0dd
\ddd character with octal code ddd, or backreference
\o{ddd..} character with octal code ddd..
\xhh character with hex code hh
\x{hhh..} character with hex code hhh..


링크