원시 문자열 표기법
Python 문서에 따르면 원시 문자열 표기법(r"text")은 정규 표현식을 의미 있고 혼동 없이 유지합니다. 이것이 없으면 정규식의 모든 백슬래시('\')를 이스케이프하려면 다른 백슬래시를 접두사로 붙여야 합니다. 예를 들어, 다음 두 줄의 코드는 기능적으로 동일합니다 -
>>> re.match(r"\W(.)\1\W", " ff ") <_sre.SRE_Match object; span=(0, 4), match=' ff '> >>> re.match("\\W(.)\\1\\W", " ff ") <_sre.SRE_Match object; span=(0, 4), match=' ff '>
리터럴 백슬래시와 일치시키려면 정규식에서 이스케이프 처리해야 합니다. 원시 문자열 표기법으로 이것은 r"\\"을 의미합니다. 원시 문자열 표기법이 없으면 "\\\\"를 사용해야 하므로 다음 코드 줄을 기능적으로 동일하게 만듭니다. −
>>> re.match(r"\\", r"\\") <_sre.SRE_Match object; span=(0, 1), match='\\'> >>> re.match("\\\\", r"\\") <_sre.SRE_Match object; span=(0, 1), match='\\'>