파이썬에서 파일의 시작과 끝 부분에 대한 정규식을 찾는 데 어려움을 겪고 있습니다. 어떻게해야합니까?정규식을 사용하여 파이썬에서 파일 시작과 끝 맞추기
답변
어쩌면 당신이하고자하는 것과 같은 질문을 더 분명하게 제기해야 할 것입니다. 즉, 파일을 하나의 전체 문자열로 스 루핑하고 re를 사용하여 패턴을 일치시킬 수 있습니다.
import re
data=open("file").read()
pat=re.compile("^.*pattern.*$",re.M|re.DOTALL)
print pat.findall(data)
무엇이든지간에 무엇이든 할 수있는 더 좋은 방법이 있습니다.
. *는 욕심이 많기 때문에 파일에서 '패턴'인스턴스를 하나만 찾습니다. re.M 플래그를 지정 했으므로 $는 파일의 모든 개행 직전과 일치하므로 greedy. * 및 re.DOTALL의 경우 첫 번째. *는 파일의 마지막 '패턴'앞에있는 모든 것과 일치하고 두 번째는 마지막 '패턴'이후의 모든 것을 일치시킵니다. –
. 우리가 OP가 정말로하고 싶어하는 것이 확실하지 않기 때문에 이것은 완전한 해결책이 아닙니다. 내가 할 수있는 최선의 방법은 문자열로 전체 파일을 읽고 일반 문자열처럼 정규식을 수행 할 수 있다고 알려주는 것입니다. – ghostdog74
정규식 $
은 아니요 친구; this SO answer
전체 파일을 문자열로 읽은 다음 \ A는 문자열의 시작 부분과 만 일치하고 \ Z는 문자열 끝 부분 만 찾습니다. re.MULTILINE을 사용하면 '^'은 줄 바꿈 뒤의 및 문자열의 시작과 일치하며 '$'는 줄 바꿈 바로 전에 및 문자열의 끝과 일치합니다. re syntax에 대한 Python 설명서를 참조하십시오.
import re
data = '''sentence one.
sentence two.
a bad sentence
sentence three.
sentence four.'''
# find lines ending in a period
print re.findall(r'^.*\.$',data,re.MULTILINE)
# match if the first line ends in a period
print re.findall(r'\A^.*\.$',data,re.MULTILINE)
# match if the last line ends in a period.
print re.findall(r'^.*\.$\Z',data,re.MULTILINE)
출력 :
['sentence one.', 'sentence two.', 'sentence three.', 'sentence four.']
['sentence one.']
['sentence four.']
- 1. Emacs regexps의 문자열의 시작과 끝
- 2. Java에서 InputStream의 시작과 끝 부분에 문자 추가
- 3. Lucene과 일치 항목의 시작과 끝 찾기
- 4. 델파이 : 창 이동 시작과 끝 감지
- 5. 정규식을 정의하여 필터 로그 파일
- 6. C#에서 파일의 시작과 끝 부분에 텍스트 추가
- 7. 찾기 시작하고 다음의 시작과 끝 지점이 초기 값 조정하여 기준
- 8. WCF - 시작과 끝 호출 사이에 채널/프록시 유지 방법
- 9. 시작과 끝 경계를 지나서 이벤트가 끌리지 않도록 할 수 있습니까?
- 10. 안드로이드에서 '드래그'의 시작과 끝 위치를 감지하고 그 사이에 선 그리기
- 11. SQL 쿼리 도움말 : 그룹의 시작과 끝 행을 선택하는 방법 (Oracle)?
- 12. 특정 시작과 끝 사이에서 가능한 모든 경로 찾기
- 13. 실버 라이트에서 텍스트의 시작과 끝 부분에 이미지 추가
- 14. 실행 파일에서 텍스트 섹션의 시작과 끝 주소 얻기
- 15. iPhone CATransition은 애니메이션의 시작과 끝 부분에 페이드를 추가합니까?
- 16. 파이썬에서 모든 정규식을 어떻게 찾을 수 있습니까?
- 17. UNIX라는 이름의 파일 끝 파일
- 18. 파일 끝 부분이 C
- 19. 정규식을 파이썬에서 일치시킬 수있는 값 목록을 생성합니다.
- 20. 정규식을 사용하여 ssn을
- 21. 정규식을 사용하여 문자열 파싱
- 22. 정규식을 사용하여 MySQL 업데이트
- 23. 파이썬에서 재귀를 사용하여 파일 열기 및 인쇄
- 24. 파이썬에서 HTTP를 사용하여 원격 파일 찾기
- 25. Snack을 사용하여 파이썬에서 WAV 파일 재생
- 26. PathListBox를 사용하여 텍스트 자리 맞추기
- 27. 파이썬에서 이진 파일 읽기
- 28. 자바에서 정규식을 사용하여 div를 찾고 변경하십시오.
- 29. 파이썬에서 출력 파일 리디렉션
- 30. 파이썬에서 파일 속성 검사하기
정규 표현식은 문자열이 아닌 파일에 적용됩니다. – MattH