정규표현식
전방 탐색과 후방 탐색 (Regex Lookaround match) 이란?
정규표현식, 전방 탐색과 후방 탐색 (Regex Lookaround match) 이란? 보통 패턴에 매칭되는 문자가 아니라, 패턴에 매칭되는 문자의 앞, 뒤를 찾을 때 이용한다. 정규식은 보통 문자를 '소비'하면서 찾아가는데, 전방탐색과 후방탐색(Lookaround match)은 소비하지 않는다. '소비'란 것은 한번 패턴을 찾으면 더이상 그 전으로 돌아가지 못하는 것을 이야기한다. 종류 전방 탐색 (Positive Lookahead) (?=) 부정형 전방 탐색 (Negative Lookahead) (?!) 후방 탐색 (Positive Lookbehind) (? (?=) 전방 탐색 (Positive Lookahead) 패턴 앞의 문자만 매칭된다. 패턴 자체는 매칭시키지 않는다..
정규표현식 ? (물음표) 기호 사용법 (non-greedy matching, lazy-quantifier)
Case 1: 앞의 문자가 나올지 안나올지 모르는 경우를 위해 사용한다. 중간에 나올지 안나올지 확실하지 않은 문자에 사용할 수 있다. 예제 http or https URL 을 파악할 때 http://, https:// 둘 다 매칭시킬 때 유용하다. https? Case 2: non-greedy matching 혹은 lazy-quantifiers 를 위해 사용한다. 오직 * 혹은 + 와 ? 기호가 함께 사용될 때만 적용되는 규칙이다. * 혹은 + 와 같이 가능한 많은 문자를 소비해버리는 정규표현식 기호를 이용할 때, 이를 non-greedy 한 동작으로 변경할 수 있다. + 혹은 * 기호를 그냥 사용하면 가능한 가장 긴 시퀀스를 만들어낸다. ? 와 함께 사용하면 가능한 적은 시퀀스를 만들어낸다. 아래의 ..
정규표현식 Lookaround (Lookahead, Lookbehind) 알아보기
Regex Lookaround match 란? 일치하는 텍스트를 매칭하고 싶을 때가 아니라, 일치하는 텍스트의 앞, 뒤를 매칭하고 싶을 때 사용하는 정규표현식이다. 전방 탐색 (Positive Lookingahead) (?=) 후방 탐색 (Positive Lookingbehind) (? 소비 개념 알아보기 정규표현식에서 일치하는 영역을 반환하는 동작을 소비(consume) 라고 표현한다. 보통 Regex Lookaround match 는 소비(consume) 를 원하지 않을 때 사용한다. 예제 제목 태그 안에 있는 내용만 얻고 싶다면? Regex Lookaround 를 이용하지 않는다면? 하위표현식을 이용해 데이터를 자른다. 정규표현식에서 () 와 같이 괄호로 나누면 그룹별로 데이터를 뽑기 좋다. 혹은 ..