문자열 리터럴 앞에 "r"이 무엇입니까? [복제]
이 질문에는 이미 답변이 있습니다.
처음에이 메소드가에 대한 메소드 인수로 여러 행에 정규식을 작성하는 데 사용되는 것을 보았 re.compile()
으므로 r
RegEx 를 의미 한다고 가정했습니다 .
예를 들면 다음과 같습니다.
regex = re.compile(
r'^[A-Z]'
r'[A-Z0-9-]'
r'[A-Z]$', re.IGNORECASE
)
r
이 경우 어떤 의미입니까? 왜 필요한가요?
이는 r
문자열이 원시 문자열로 처리됨을 의미하므로 모든 이스케이프 코드가 무시됩니다.
예를 들어 :
'\n'
문자는 개행 문자 r'\n'
로 취급되고 문자는 \
다음에 오는 문자로 취급 됩니다 n
.
때
'r'
또는'R'
접두사가 존재, 백 슬래시 다음과 같은 문자는 변화하지 않고 문자열에 포함되어 있으며 모든 백 슬래시는 문자열에 남아 있습니다. 예를 들어 문자열 리터럴r"\n"
은 백 슬래시와 소문자의 두 문자로 구성됩니다'n'
. 문자열 인용 부호는 백 슬래시로 이스케이프 할 수 있지만 백 슬래시는 문자열에 남아 있습니다. 예를 들어,r"\""
두 개의 문자 : 백 슬래시와 큰 따옴표로 구성된 유효한 문자열 리터럴입니다.r"\"
유효한 문자열 리터럴이 아닙니다 (원시 문자열도 홀수의 백 슬래시로 끝날 수 없음). 특히, 원시 문자열은 단일 백 슬래시로 끝날 수 없습니다 (백 슬래시는 다음 따옴표 문자를 이스케이프하므로). 또한 단일 백 슬래시와 개행 문자는 줄 연속으로가 아니라 문자열의 일부로이 두 문자로 해석됩니다.
출처 : 파이썬 문자열 리터럴
이스케이프가 번역되지 않음을 의미합니다. 예를 들면 다음과 같습니다.
r'\n'
문자 뒤에 백 슬래시가있는 문자열입니다 n
. (없이는 r
줄 바꿈이 될 것입니다.)
b
바이트 문자열을 나타내며 문자열이 기본적으로 유니 코드 인 Python 3에서 사용됩니다. Python 2.x에서 문자열은 기본적으로 바이트 문자열이며 u
유니 코드를 나타내는 데 사용 합니다.
참고 URL : https://stackoverflow.com/questions/4780088/what-does-preceding-a-string-literal-with-r-mean
'program tip' 카테고리의 다른 글
“./configure”옵션“--build”,“--host”및“--target”의 차이점은 무엇입니까? (0) | 2020.08.04 |
---|---|
함수 반환 값에 std :: move를 언제 사용해야합니까? (0) | 2020.08.04 |
재정의 할 때 super () 메서드를 호출하지 않아야 할 때? (0) | 2020.08.04 |
창을 표시하지 않고 PowerShell 스크립트를 실행하는 방법은 무엇입니까? (0) | 2020.08.04 |
`levels <-` (이것은 어떤 마법입니까? (0) | 2020.08.04 |