정규표현식

    전방 탐색과 후방 탐색 (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) 알아보기

    정규표현식 Lookaround (Lookahead, Lookbehind) 알아보기

    Regex Lookaround match 란? 일치하는 텍스트를 매칭하고 싶을 때가 아니라, 일치하는 텍스트의 앞, 뒤를 매칭하고 싶을 때 사용하는 정규표현식이다. 전방 탐색 (Positive Lookingahead) (?=) 후방 탐색 (Positive Lookingbehind) (? 소비 개념 알아보기 정규표현식에서 일치하는 영역을 반환하는 동작을 소비(consume) 라고 표현한다. 보통 Regex Lookaround match 는 소비(consume) 를 원하지 않을 때 사용한다. 예제 제목 태그 안에 있는 내용만 얻고 싶다면? Regex Lookaround 를 이용하지 않는다면? 하위표현식을 이용해 데이터를 자른다. 정규표현식에서 () 와 같이 괄호로 나누면 그룹별로 데이터를 뽑기 좋다. 혹은 ..

반응형