23
코드의 다음 문자열에서 pep8이 불평하는 이유는 무엇입니까?pep8 Python, Eclipse의 정규식 문자열에 대한 경고
import re
re.compile("\d{3}")
경고는 내가 나타납니다
ID:W1401 Anomalous backslash in string: '\d'. String constant might be missing an r prefix.
당신은 메시지의 의미는 무엇인가 설명 할 수 있습니까? W1401 경고가 전달되도록 코드에서 변경해야하는 항목은 무엇입니까?
코드가 테스트를 통과하고 예상대로 실행됩니다. 또한 \d{3}
은 유효한 정규 표현식입니다.
감사합니다, 나는 접두사 'R'과 그 기능에 대한 아무 생각이 없었다. – alandarev
늦어 지지만 '\ d'는 '\\ d'와 전혀 다릅니다. 전자는 임의의 (유니 코드) 숫자와 일치합니다. 후자는'd'가 뒤 따르는 백 슬래시와 일치합니다. 그들은 동등하지 않습니다. Pylint는 여기에서 틀린 것처럼 보입니다. –
@moodforaday, 파이썬 대화 형 쉘에서'\ d '=='\\ d '를 사용해보십시오. 또한 ''\ t '=='\\ t '' – falsetru