정규표현식

이동욱

2021/07/14

Categories: 정규표현식 Tags: 정규표현식

정규 표현 (Regular Expression)


반복자 (Repeaters): *, +, {}


'a * b' 이면 'a' 와 'b' 사이에 0번 혹은 그 이상 출현할 수 있다는 것을 의미한다.
예를 들면, 'b', 'ab', 'aab', 'aaab', 'aa......b'가 올 수 있다.
'a + b'이면 'ab', 'aaab', 'aa.....b'는 될 수 있지만, 'b'는 될 수 없다.
`a{3}b` 이면, 'aaab'만 된다.
'a{3}b' 이면, 'aaab', 'aaaab', 'aaa...b'와 같이 최소 3이상 a가 나올 수 있다는 의미이다.
'a{3, 4}b'이면 'aaab', 'aaaab'가 된다. 3 ~ 4의 'a' 길이를 설정한다.

와일드 카드 (Wild Card): .


'.'이면 하나의 어떤 문자로든 매칭될 수 있다.
'.*' 이면, 다양한 (모든) 길이의 문자열을 찾는다.
'a.b'이면, 'aab', 'abc', ..., 'a b', 'a/b' 등과 같은 모든 문자가 대응될 수 있다. 즉 a로 시작하여 b로 끝나는 길이 3의 모든 문자열로 정의 된다.

선택 문자 (Optional Character) ?


탈자 부호 (Caret): ^


'^a.*' 이면 'a'로 시작하는 모든 문자열을 뜻한다.
'a{2}.*2'이면 'aa'로 시작하는 모든 문자열이다.

달러 문자(Dollar): $


^ 과는 정 반대로 마지막 문자 혹은 문자열을 지정한다. 특정 문자 혹은 문자열이 마지막에 지녀야하는 문자열 패턴을 만들 때 사용한다.

'.*b$' 이면 마지막 문자 혹은 문자열을 지정한다. 특정 문자 혹은 문자열이 마지막에 지녀야 하는 문자열 패턴을 만들 때 사용한다.
'.b$'이면, 'b'로 끝나는 모든 문자열

문자 클래스 (Charactert classes): []


그룹 문자 (Grouping character): ()


`(ab)+` 이면 'ab', 'abab', 'ababab...'가 가능하다.
'^(th).*'이면 'th'로 시작하는 모든 문자와 매칭이 가능하다.

수직선 (Vertical Bar, OR Opertation): |


'th'(is|e|at) 이면 'this', 'the', 'that'이 매칭이 될 수 있다.

역슬레시 (Back-slash, Espace charater): \


'[0-9]\*[0-9]\+[0-9]' 이면, '1 * 2 + 3 = 7'과 같은 문자열이 있다면, '1 * 2 + 3'을 추출할 수 있다.

느낀점


참고 문헌


>> Home