정규 표현식

특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. 정규 표현식은 많은 텍스트 편집기와 프로그래밍 언어에서 문자열의 검색과 치환을 위해 지원하고 있다.

컴퓨터 과학의 정규언어로부터 유래하였으나 구현체에 따라서 정규 언어보다 더 넓은 언어를 표현할 수 있는 경우도 있으며, 심지어 정규 표현식 자체의 문법도 여러 가지 존재하고 있다. 수많은 프로그래밍 언어가 정규 표현식 기능을 제공하고 있으며, 일부는 펄, 자바스크립트, 루비, Tcl처럼 기본 내장되어 있는 반면 닷넷 언어, 자바, 파이썬, POSIX C, C++ (C++11 이후)에서는 표준 라이브러리를 이용하여 구현한다. 그 밖의 대부분의 언어들은 라이브러리를 통해 정규식을 제공한다.


기본 개념

주로 패턴(pattern)으로 부르는 정규 표현식은 특정 목적을 위해 필요한 문자열 집합을 지정하기 위해 쓰이는 식이다.

"또는"

수직선은 여러 항목 중 선택을 하기 위해 구분한다. 이를테면 gray|grey"gray" 또는 "grey"와 일치한다.

그룹 묶기

괄호를사용하면 연산자의 범위와 우선권을 정의할 수 있다. 이를테면 gray|greygr(a|e)y"gray""grey" 집합을 둘 다 기술하는 동일 패턴이다.

양의 지정

?

물음표는 0번 또는 1차례까지의 발생을 의미한다. 이를테면 colou?r"color""colour"를 둘 다 일치시킨다.

*

별표는 0번 이상의 발생을 의미한다. 이를테면 ab*c"ac", "abc", "abbc", "abbbc" 등을 일치시킨다.

+

덧셈 기호는 1번 이상의 발생을 의미한다. 이를테면 ab+c"abc", "abbc", "abbbc" 등을 일치시키지만 "ac"는 일치시키지 않는다.

{n}

정확히 n 번만큼 일치시킨다.

{min,}

"min"번 이상만큼 일치시킨다.

{min,max}

적어도 "min"번만큼 일치시키지만 "max"번을 초과하여 일치시키지는 않는다.



출처 : https://ko.wikipedia.org/wiki/%EC%A0%95%EA%B7%9C_%ED%91%9C%ED%98%84%EC%8B%9D#.EA.B8.B0.EB.B3.B8_.EA.B0.9C.EB.85.90



참고사이트

https://regexone.com/

'Programming > 정규표현식' 카테고리의 다른 글

정규표현식 사용하기  (0) 2017.05.08

+ Recent posts