본문 바로가기

코딩테스트 with Python

문자열 함수 및 정규표현식

lstrip(): 문자열의 맨 왼쪽에 입력받은 문자가 있으면 벗겨낸 문자열을 리턴 

rstrip(): 문자열의 맨 오른쪽에 입력받은 문자가 있으면 벗겨낸 문자열을 리턴 

split(): 문자열을 리스트로 치환 default는 공백기준 or 입력받은 문자열기준 

 

메타 문자 

:정규식에서 사용시 특수한 의미를 가짐 

. ^ $ * + ? { } [ ] \ | ( )

 

문자 클래스 [ ]

: 하이픈(-)을 사용하면 두 문자 사이의 범위를 의미한다.

[a-d] == [abcd]

[abc] : a 또는 b 또는 c가 한개라도 포함된 문자열

[a-zA-Z]: 알파벳 모두

[0-9]: 숫자

 

자주 사용하는 문자 클래스

: 약어들이 있음의 주의하자.

\d - 숫자와 매치, [0-9]와 동일한 표현식이다.

\D - 숫자가 아닌 것과 매치, [^0-9]와 동일한 표현식이다.

\s - whitespace 문자와 매치, [ \t\n\r\f\v]와 동일한 표현식이다. 맨 앞의 빈 칸은 공백문자(space)를 의미한다.

\S - whitespace 문자가 아닌 것과 매치, [^ \t\n\r\f\v]와 동일한 표현식이다.

\w - 문자+숫자(alphanumeric)와 매치, [a-zA-Z0-9_]와 동일한 표현식이다.

\W - 문자+숫자(alphanumeric)가 아닌 문자와 매치, [^a-zA-Z0-9_]와 동일한 표현식이다.

 

Dot(.)

:\n(줄바꿈 문자)를 제외한 모든 문자와 매치된다. 

a.b : "a + 모든문자 + b"

a[.]b: "a.b"

 

반복(*, +)

* : 0번이상 반복

+ 1번이상 반복

 

반복({m,n})

ca{2,5)t : "c + a(2~5회 반복) + t"

 

re모듈 (regular expression)

import re
match() 문자열의 처음부터 정규식과 매치되는지 조사한다.
search() 문자열 전체를 검색하여 정규식과 매치되는지 조사한다.
findall() 정규식과 매치되는 모든 문자열(substring)을 리스트로 돌려준다.
finditer() 정규식과 매치되는 모든 문자열(substring)을 반복 가능한 객체로 돌려준다.
s = '0123xdf21cfg23'
import re
re.findall('\d+',s)
# ['0123', '21', '23']

 

 

07-2 정규 표현식 시작하기 - 점프 투 파이썬 (wikidocs.net

 

07-2 정규 표현식 시작하기

[TOC] ## 정규 표현식의 기초, 메타 문자 정규 표현식에서 사용하는 메타 문자(meta characters)에는 다음과 같은 것이 있다. > ※ 메타 문자란 원래 ...

wikidocs.net

 

정규식은 봐도 봐도 모르겠다.. 

 

'코딩테스트 with Python' 카테고리의 다른 글