[NLP] 정규식

1 분 소요

의미(위키백과 정리 + 책)

정규 표현식(regular expression)은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. 주로 문자열 검색 및 취환에 쓰인다.

검색 엔진, 워드 프로세서와 문자 편집기의 찾아 바꾸기 대화상자, 리눅스의 grep, awk와 같은 문자 처리 유틸리티, 어휘분석에 사용된다.

문법

  • 기본 및 확장 표준 문법
문자 기능 설명
. 문자 1개의 문자 일치
[ ] 분리 괄호 안 사이의 문자 중 하나 선택
[^] 부정 괄호 안에 쓰이며, “^” 다음 문자 제외
^ 처음 문자열이나 행의 처음
$ 문자열이나 행의 끝
( ) 하위식 여러 식을 하나로 묶음
\n 일치하는 n번째 패턴 일치하는 패턴들 중 n번째 선택
* 0회 이상 “*” 다음에 오는 문자가 0개 이상 포함
? 0 또는 1회 ”?” 다음에 오는 문자 0개 또는 1개 포함
+ 1회 이상 ”+” 다음에 오는 문자 1회 이상 포함
{n} n회 문자 n회 포함
{min,} min회 이상 문자 min회 이상 포함
{min, max} min회 이상 max회 이하 문자 min회 이상 max회 이하 포함
| 선택 여러 식 중에서 하나 선택
  • 범위 문법
정규식 범위 설명
  [a-z] 소문자
  [A-Z] 대문자
\d [0-9] 숫자
\D [^0-9] 숫자가 아닌 문자
\w [a-zA-Z0-9_] 알파벳, 숫자, 언더바
\W [^\w] 알파벳, 숫자, 언더바가 아닌 문자
\s [ \r\t\n\f] 공백 문자
\S [ ^\s] 공백이 아닌 문자

정리 및 다음 문서

간단하게, 정규식의 의미와 문법을 정리했다. 다음 챕터에서는 finite-state automaton를 통해 어떻게 정규식이 실행되는지 보려고 한다.

태그:

카테고리:

업데이트: