정규표현식 (Regular Expression)

 정규표현식이란?

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


정규표현식은 정규문자(문자 그대로의 의미), 메타문자(특별한 의미), 또는 이들의 조합으로 구성 됨.

정규 표현식은 많은 텍스트 편집기와 프로그래밍 언어에서 문자열의 검색과 치환하는데 용이하다.


정규표현식 메타문자는 아래를 참고.

메타문자설명
.new line (line feed) 를 제외한 1개의 임의의 문자와 일치 함
?앞에 위치한 정규표현식 또는 문자가 0개 또는 1개인 것과 일치 함.
*앞에 위치한 정규표현식 또는 문자가 0개 이상 반복되는 것과 일치 함.
+앞에 위치한 정규표현식 또는 문자가 1개 이상 반복되는 것과 일치 함.
{n}정확히 n번 일치 함.
{n,}n번 또는 그 이상 일치 함.
{n,m}적어도 n번 일치하지만 m번을 넘지 않는다.  n <= 일치 횟수 < m
^문자열이나 행의 처음을 의미.
$문자열이나 행의 끝을 의미.
( )여러 정규표현식을 하나로 묶을 수 있다.
|여러 정규표현식 또는 문자 중에서 하나를 선택 함.


문자 클래스

하나의 작은 일련의 문자열들을 더 큰 집합의 문자열들과 일치시키도록 함. 정규 표현식 작성에 유용 함.

대소문자가 구분에 유의.


브래킷VimASCII설명
[:lower:]
\l[a-z]알파벳 소문자 집합
[:upper:]\u[A-Z]알파벳 대문자 집합
[:alpha:]\a[A-Za-z]알파벳 문자 집합
[:digit:]\d[0-9]숫자 집합

\D[^0-9]숫자가 아닌 문자들의 집합
[:xdigit:]\x[A-Fa-f0-9]16진수에서 사용할 수 있는 숫자 및 문자 집합
[:alnum:]
[A-Za-z0-9]알파벳 문자와 숫자 집합
[:word:]\w[A-Za-z0-9_]알파벳 문자와 숫자에 "_" (밑줄 문자) 추가된 집합

\W[^A-Za-z0-9_]알파벳,숫자,_(밑줄 문자) 를 제외한 집합.
[:cntrl:]
[\x00-\x1F\x7F]제어 문자 집합
[:graph:]
[\x21-\x7E]공백 및 제어문자들을 제외한 문자 집합
[:print:]
[\x20-\x7E]공백 문자를 포함한 보이는 문자 집합
[:blank:]\s[ \x09]공백과 탭 문자 집합
[:space:]
[ \t\r\n\v\f]모든 공백 문자 (Tab, Carriage Return, Line Feed, Vertical Tab, Form Feed)


정규 표현식 테스트를 위해 주로 사용하는 페이지.

https://regexr.com/


이 블로그의 인기 게시물

Crusader Kings 3 - Converting DNA code using Portrait Editor