전후방탐색(lookaround)

전후방탐색(lookaround)

전방 탐색(lookahead) 전방 탐색(lookahead)이란 작성한 패턴에 일치하는 영역이 존재하여도 그 값이 제외되어서 나오는 패턴입니다. 전방 탐색 기호는 ?= 이며, = 다음에 오는 문자가 일치하는 영역에서 제외됩니다. 또한, 전방 탐색은 하위 표현식과 같이 소괄호로 감싸주어야만 합니다. 우선은 한번 보도록 합시다. 패턴(Pattern) 텍스트(Text) http://www.abc.comhttps://www.abc.comhttp://www.abc.net 위에 쓰인 정규 표현식을 살펴보자면, 아무 문자가 한번 이상 연속적으로 등장하고 콜론(:) 문자가 … 더 읽기

역참조(backreferences)

역참조(backreferences)

역참조(backreferences)란 무엇일까요? 말 그대로 역으로 참조하는 것을 나타냅니다. 정규 표현식에서는 패턴의 일부를 하위 표현식으로 묶으면, 첫번째로 나타나는 부분 문자열을 찾은 뒤에 역참조를 통해 이후에 나타나는 부분 문자열을 찾을 수 있습니다. 이때, 각 하위 표현식은 번호로 식별됩니다. 이 역참조를 통해서, 반복되는 두 문자를 쉽게 찾을 수 있습니다. 예를 들어서, why so so serious에서 역참조를 통해 so so를 … 더 읽기

하위 표현식(Subexpression)

하위 표현식(Subexpression)

하위 표현식(Subexpression) 하위 표현식(Subexpression)이란, 특정 패턴, 표현식을 하나의 항목으로 처리하는 것입니다. 이 하위 표현식을 사용하려면 소괄호를 사용해야 합니다. 참고로, 소괄호 역시도 메타 문자이기 때문에, 소괄호 그 자체를 찾으려면 \(, \)와 같이 이스케이프 해주어야만 합니다. 아래 예를 한번 보도록 합시다. 패턴(Pattern) 텍스트(Text) abccabcabc 위의 일치된 텍스트를 보시면, 예상과는 다르게 abcabc가 아닌 abcc가 일치되었습니다. 무엇이 잘못되었나 살펴보았더니, … 더 읽기

수량자(Quantifier)

수량자(Quantifier)

수량자 설명 {n} 정확히 n개만을 찾습니다. {n,} n개 이상을 찾습니다. {n,m} 최소 n개, 최대 m개의 경우를 찾습니다. (n 혹은 m은 정수이고 음수가 올 수 없습니다.) 위의 수량자들을 차례대로 알아보도록 합시다. 우선 첫번째 수량자인 {n} 입니다. 이 수량자가 뒤에 따라오면, 앞에 있는 문자 집합 혹은 문자가 n번 연속해서 일치하는지 확인합니다. 주의하셔야 할 부분은, 이상도 아니고 이하도 … 더 읽기

연속된 문자 찾기

연속된 문자 찾기

+ (문자가 하나 이상 있으면 일치) 지금까지 배운 정규 표현식을 사용하여 이메일 형식을 검색하고자 한다면, 어떤 방식으로 검색을 할 수 있을까요? 여태까지 배운 내용으로는 “a@b.c” 즉, \w@\w\.\w 라고 만들 수 있겠습니다. 그러면, “abc@def.ghi”, “abcd@efgh.ijk” 같은 연속된 문자는 어떻게 검색을 할까요? 그것은 바로, 지금 배우게 될 +란 메타 문자로 해결할 수 있습니다. 패턴(Pattern) 텍스트(Text) id@gmail.comid@daumnetid@naver.comid@nate.comid@google 정규 표현식을 차례대로 살펴보도록 … 더 읽기