Python 다 중 줄 일치 모드 분석
큰 텍스트 와 일치 하 는 정규 표현 식 을 사용 하려 고 시도 하고 있 습 니 다.여러 줄 을 넘 어 일치 해 야 합 니 다.
해결 방안
이 문 제 는 점(.)으로 임의의 문자 와 일치 할 때 점(.)이 줄 바 꿈 문자 와 일치 하지 않 는 다 는 사실 을 잊 어 버 린 것 이 전형 적 이다.예 를 들 어 C 언어 분할 에 맞 는 설명 을 시도 하고 싶다 고 가정 하 십시오.
>>> comment = re.compile(r'/\*(.*?)\*/')
>>> text1 = '/* this is a comment */'
>>> text2 = '''/* this is a
... multiline comment */
... '''
>>>
>>> comment.findall(text1)
[' this is a comment ']
>>> comment.findall(text2)
[]
>>>
이 문 제 를 수정 하기 위해 서 는 패턴 문자열 을 수정 하고 줄 바 꾸 기 지원 을 추가 할 수 있 습 니 다.예 를 들 면:
>>> comment = re.compile(r'/\*((?:.|
)*?)\*/')
>>> comment.findall(text2)
[' this is a
multiline comment ']
>>>
이 모드 에서(?:.|)비 포획 그룹 을 지정 하 였 습 니 다.토론 하 다.
re.compile()
함수 가 표지 파 라 메 터 를 받 아들 이 는 것 은 re.DOTALL
이 고 여기 서 매우 유용 합 니 다.정규 표현 식 의.줄 바 꿈 자 를 포함 한 임의의 문자 와 일치 합 니 다.예 를 들 면:
>>> comment = re.compile(r'/\*(.*?)\*/', re.DOTALL)
>>> comment.findall(text2)
[' this is a
multiline comment ']
간단 한 경우 re.DOTALL
태그 파 라 메 터 를 사용 하 는 것 이 좋 습 니 다.그러나 패턴 이 매우 복잡 하거나 문자열 토 큰 을 구성 하기 위해 여러 모델 을 합 친 경우(2.18 절 에 상세 한 설명 이 있 음)이 태그 파 라 메 터 를 사용 하면 질문 이 나 올 수 있 습 니 다.선택 하 라 고 하면 정규 표현 식 모드 를 정의 하 는 것 이 좋 습 니 다.추가 적 인 태그 매개 변수 없 이도 잘 작 동 할 수 있 습 니 다.이상 은 Python 다 중 줄 일치 모델 에 대한 상세 한 내용 입 니 다.Python 다 중 줄 일치 모델 에 대한 자 료 는 다른 관련 글 을 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.