어떤 사람들은 r 접두사가 없어도 다음 정규 표현식이 작동하는 이유를 궁금해할 수 있습니다.
<code class="python">import re print (re.sub('\s+', ' ', 'hello there there'))</code>
일반적으로 다음과 같습니다. 이스케이프 시퀀스를 사용할 때마다 r 접두사가 필요하다고 생각했지만 이 예는 이에 모순되는 것 같습니다.
r 접두사는 "원시 문자열"을 생성하는 데 사용됩니다. , 이는 문자열의 이스케이프 시퀀스가 특수 문자로 해석되지 않음을 의미합니다. 이는 백슬래시()와 같이 일반적으로 이스케이프 시퀀스로 해석되는 문자를 사용하려는 경우 유용할 수 있습니다.
위의 예에서 이스케이프 시퀀스 s는 하나 이상의 공백과 일치하는 데 사용됩니다. 문자. r 접두사가 없으면 이 이스케이프 시퀀스는 탭 문자(t)로 해석됩니다. 그러나 r 접두사가 사용되기 때문에 이스케이프 시퀀스는 문자 그대로 해석되어 하나 이상의 공백 문자와 일치합니다.
이스케이프 시퀀스가 규칙에 적용되는 몇 가지 예외가 있습니다. r 접두사와 함께 사용해야 합니다. 한 가지 예외는 개행 문자를 나타내는 데 사용되는 n 이스케이프 시퀀스입니다. 다음 예와 같이 이 이스케이프 시퀀스는 r 접두사 없이 사용할 수 있습니다.
<code class="python">print '\n'</code>
또 다른 예외는 백슬래시 문자를 나타내는 데 사용되는 \ 이스케이프 시퀀스입니다. 다음 예에 표시된 것처럼 이 이스케이프 시퀀스는 r 접두사 없이 사용할 수도 있습니다.
<code class="python">print '\'</code>
Python에서 이스케이프 시퀀스를 사용할 때 r 접두사가 항상 필요한 것은 아닙니다. 그러나 일반적으로 혼란이나 예상치 못한 동작을 피하기 위해 r 접두사를 사용하는 것이 좋습니다.
위 내용은 Python의 정규식에 r 접두사가 항상 필요하지 않은 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!