re
Python 3.6.5에서 모듈 문제를 만났습니다 . 정규 표현식에이 패턴이 있습니다.
'\\nRevision: (\d+)\\n'
하지만 실행하면 DeprecationWarning
.
나는 SO에서 문제를 검색했지만 실제로 답을 찾지 못했습니다. 대신 무엇을 사용해야 \d+
합니까? 그냥 [0-9]+
아니면 다른 것?
답변:
Python 3은 문자열 리터럴을 유니 코드 문자열로 해석하므로 \d
이스케이프 된 유니 코드 문자로 처리됩니다.
r
아래와 같이 앞에 추가하여 RegEx 패턴을 원시 문자열로 선언하십시오 .
r'\nRevision: (\d+)\n'
이것은 또한에 \n
의해 개행 문자로 파싱되기 때문에 이스케이프를 삭제할 수 있음을 의미합니다 re
.
\d
인식 할 수없는 이스케이프 시퀀스로 처리되므로 변경되지 않습니다. DeprecationWarning은 Python 3.6부터 제공됩니다. 향후 버전의 Python에서는 SyntaxError가 될 것입니다. 문서의 "2.4.1. 문자열 및 바이트 리터럴"의 세부 사항.
'\\d'
.