programing

문자열 리터럴 앞에 "r"이 붙는 것은 무엇을 의미합니까?

testmans 2023. 6. 9. 21:52
반응형

문자열 리터럴 앞에 "r"이 붙는 것은 무엇을 의미합니까?

나는 처음에 그것이 여러 줄에 걸쳐 정규 표현을 만드는 데 사용되는 것을 방법 인수로 보았습니다.re.compile()그래서 나는 생각했습니다.rRegEx의 약자입니다.

예:

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"\"올바른 문자열 리터럴이 아닙니다(원시 문자열이라도 홀수의 백슬래시로 끝날 수 없습니다).특히, 백슬래시는 다음 따옴표 문자를 이스케이프하므로 원시 문자열은 단일 백슬래시로 끝날 수 없습니다.또한 백슬래시가 하나 있고 줄이 하나 더 있으면 줄의 연속이 아닌 문자열의 일부로 해석됩니다.

소스: Python 문자열 리터럴

탈출은 번역되지 않는다는 뜻입니다.예:

r'\n'

문자 뒤에 백슬래시가 있는 문자열입니다.n(무제한)r새로운 라인이 될 것입니다.)

b는 바이트 문자열을 나타내며 기본적으로 문자열이 유니코드인 파이썬 3에서 사용됩니다.Python 2.x에서 문자열은 기본적으로 바이트 문자열이었고 당신은u유니코드를 나타냅니다.

언급URL : https://stackoverflow.com/questions/4780088/what-does-preceding-a-string-literal-with-r-mean

반응형