11건의 항목
문자열 처리는 파이썬으로 find() isalpha() isalnum() for ~ in list, string으로 하나씩 꺼낼 수 있다. ~ in list, string으로만 하면 t/f 반환한다.
정규 표현식은 다양한 언어에서 사용이 가능하다. 이 글에서는 파이썬을 기반으로 정규 표현식을 확인해 보도록 하자. import re p = re.compile('ab*') re.compile을 사용하여 정규 표현식(위 예에서는 ab*)을 컴파일한다.
개요 앞의 글에서 우리는 컴파일 된 pattern 객체의 메서드를 공부했다. 이 메서드에는 match, search, findall, finditer가 있었다. 해당 메서드들은 검색이 된 경우 match 객체를 리턴했다.
개요 지금까지는 간단한 정규식을 살펴 보았지만, 실제로 존재하는 다양한 문자열에서 정보를 뽑아내기 위해서는 추가적인 옵션이 필요하다. 예를 들어 쇼핑몰의 상품 리뷰를 사용자가 작성했다고 한다. 우리는 여기서 핵심적인 단어를 뽑아내야 한다.
앞에서 정규식을 표현할 때 우리는 \ 문자를 사용했다. 하지만 내가 정규식을 작성하는 데 있어서 \문자 자체를 찾고 싶다면 어떻게 해야할까? \section 이렇게 정규식을 작성하게 되면 문제가 발생한다.
특정 문자열이 반복되는지에 대해서 알기 위해서는 어떠한 정규식을 작성해야 할까? 우리가 앞에서 배운 내용으로는 할 수 없다. 이렇게 특정 문자열이 단위로 구성되어 검색을 진행하고 싶을 때 사용하는 것이 그루핑이다.
개요 Lookahead Assertions는 이해하기가 어렵다. 하지만 예시와 함께라면 어떤 경우에 이를 사용해야 하는지 알 수 있을 것이다.
개요 sub 메서드를 사용하면 정규식과 매치되는 부분을 다른 문자로 쉽게 바꿀 수 있다.
Greedy는 알고리즘 문제를 풀 때 보았던 용어이다. 이 용어는 어떤 의미로 사용이 될까? 무언가 탐욕적으로 한다는 의미일 것이다. 다음과 같은 문자열에서 처음 나오는 tag를 검색하고 싶다 해보자.
개념 특정한 규칙을 가진 문자열의 집합을 표현하기 위해 쓰이는 형식언어 프로그래밍을 다루다 보면 가장 많이 만나게 되는 것이 문자열이다. 모든 것이 문자열로 나타나 있고, 이것을 기반으로 한 규칙으로 프로그램이 구동되기 때문이다.
원래 그 문자가 가진 뜻이 아닌 특별한 용도로 사용하는 문자 문자 클래스 [] [ ] 사이에 있는 각각의 문자들에 대해 적어도 하나가 매치가 되는가? 즉, 정규 표현식이 [abc]라면 이 표현식의 의미는 “a, b, c 중 한 개의 문자와 매치”를 뜻한다.