나는 대답을 찾기 위해 많은 질문을 읽었으며 내가 놓친다면 미안합니다.
새로운 줄 문자 만 포함하는 텍스트가 있다고 가정 해 보겠습니다. 정규 표현식은 파이썬과 같은 특별한 의미의 문자를 탈출 백 슬래시 문자 ('\')를 사용하기 때문에
text ='\n'
python 정규 표현식이 r 접두사없이 n을 이해하는 이유
, 우리는이 answer 제안처럼 날 문자열 표기법을 사용하여 새 라인 문자를 일치합니다. (제발 내가 틀렸다면 정정 해주세요.)
따라서 regex = re.compile(r'\n')
을 입력하면 정규식 파서가 백 슬래시와 'n'문자를 읽고 새 줄 문자로 해석 할 수 있습니다.
내 질문에
regex = re.compile('\n')
도 역시 작동합니까?
나는 regex.match(text)
을 시도했는데 결과는 <_sre.SRE_Match object; span=(0, 1), match='\n'>
이며 원시 문자열 표기법과 동일합니다.
here으로 작성된 문서 때문입니까? 이는 말한다 :
파이썬 문자열 리터럴에서 지원하는 표준 탈출의 대부분은 또한 정규 표현식 파서에 의해 허용됩니다 연구 \ T는 \의 V \ \ B를 \ f를 \ n을 \ \ X \\
누군가가 자세히 설명 할 수 있습니까? 감사.
귀하의 질문은 2-in-1 답변이라고 생각합니다. regex 엔진은 실제 리터럴 뉴 라인을 검색 할 수 있습니다. –
리터럴''\ n'' _에 의해 생성 된 문자열에는 백 슬래시가 포함되지 않습니다. 개행 문자가 포함되어 있습니다. 개행 문자에는 특별한 정규식 의미가 없습니다. – khelwood
@ WiktorStribiżew 나는 그것이 어떻게 작동하는지 혼란 스럽다 .... 그래서 나는 더 자세한 설명을 기대하고있다. – Le0