정규식 문자열 앞에 r
문자를 삽입하면 이 정규식은 Raw String 규칙에 의하여 백슬래시 2개 대신 1개만 써도 2개를 쓴 것과 동일한 의미를 갖게 된다.
1 | re.sub(r'\') ## '\\' |
※ 만약 백슬래시를 사용하지 않는 정규식이라면 r의 유무에 상관없이 동일한 정규식이 될 것이다.
re.sub()
re.sub(pattern, repl, string, count=0, flag=0)
: pattern
을 repl
로 대체한 string
을 반환한다.
repl
내\
가 존재할 경우 backslash escape 가 적용된다.
Example
알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거
1
2re.sub(r"[^a-z0-9-_.]", "", answer)
# '[^a-z\d\-\_\.]'마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환
1
2re.sub('\.\.+', '.', answer)
# '((.)\\2{1,})'마침표(.)가 처음이나 끝에 위치한다면 제거
1
2re.sub("^[.]|[.]$", "", answer)
# '^\.|\.$'