re.sub(pattern, replacement, string)

string에서 정규식으로 정의된 특정 pattern을 찾아서 string으로 치환해준다.

sentence = re.sub(r"([.,!?])",r" \1",sentence)

r

raw string(원시 문자열), 파이썬에서 “\(백슬래시)”를 특수문자로 처리하지 않도록 한다.

()

캡처그룹, 그 부분에 매칭된 문자열을 “캡처”할 수 있다.

이 캡처된 부분을 나중에 다시 참조하거나, 치환 작업에서 사용할 수 있다.

캡처된 그룹은 정규 표현식 내에서 \\1, \\2와 같이 참조할 수 있다. 여기서 \\1은 첫 번째 캡처 그룹을, \\2는 두 번째 캡처 그룹을 의미한다.

[.,!?]

[ ] 대괄호 안에 들어간 .,!?는 "문자 클래스"라고 불리며, . (마침표), , (쉼표), ! (느낌표), ? (물음표) 중 하나와 일치하는 문자를 찾는다.

“ \1”

원본 문자열: "properly."

치환 결과: "properly ."

"\1"인 경우: