Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python 정규식에서 원시 문자열 표기법이란 무엇입니까?

<시간/>

원시 문자열 표기법

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='\\'>