728x90

파이썬 정규표현식(re)

 

특히 sub 메소드 가장 많이 활용. 이 메소드는 문자열 내의 특정 문자를 다른 원하는 문자로 치환해 주는 것이다. 

 

re.sub(pattern, repl, string, count, flags)

 

예시

1
2
print(re.sub(pattern='Gorio', repl='Ryan', count=2, \
             string='Gorio, Gorio, Gorio keep a straight face.'))
cs

 

프로그래머스 코딩테스트에 파이썬 정규 표현식 활용문제 등장

-> 답변 예시

1
2
3
4
5
6
7
8
9
10
11
from re import sub
 
def solution(new_id):
    new_id = new_id.lower()
    new_id = sub("[^a-z0-9-_.]""", new_id) #리스트 내의 값에 포함되지 않으면 제거
    new_id = sub("\.+"".", new_id) # .+ 즉 .가 연속으로 나오면 . 하나로 치환
    new_id = sub("(^\.|\.$)""", new_id)
    new_id = new_id if new_id else "a" # 공백이면 a 추가
    new_id = sub("\.$""", new_id[:15]) # 맨끝에 . 이 나오면 제거
    new_id = new_id if len(new_id) > 3 else new_id + new_id[-1* (3 - len(new_id))
    return new_id
cs

자주 쓰이는 정규표현식 패턴(링크)

728x90

'TIL(Today I Learned)' 카테고리의 다른 글

TIL_210206_동적타입/정적타입  (0) 2021.02.06
TIL_210203_Network  (0) 2021.02.04
TIL_210126  (0) 2021.01.26
TIL_SEO(Search Engine Optimization)이란?  (0) 2021.01.25
TIL_210115  (0) 2021.01.15

+ Recent posts