2016-12-09 1 views
0

저는 신문의 원본을 원시 텍스트 파일로 가지고 있으며, 나는 그것들에서 사설을 끌어낼 수 있기를 바랍니다. 사설의 대부분은 "대문자"라는 단어의 세 번째 예문 다음에 시작하며, "sfbg"로 끝납니다.regex- CategorizedPlaintextCorpusReader를 사용하여 단어의 n 번째 인스턴스를 찾습니다.

제 아이디어는 python의 정규 표현식을 사용하여 이러한 사설을 추출하는 것입니다. CategorizedPlaintextCorpusReader를 사용하고 있습니다.

CategorizedPlaintextCorpusReader의 메서드 목록을 직접 찾으려고 시도했지만 비어 있습니다.

+0

'(. *? 사설은) {3} (. *?) – sweaver2112

+0

당신이 제발 자세히 설명 할 수 sfbg'? 나는 여전히 프로그래밍에 익숙하지 않은 편이며, 문법이 제대로 작동하지 않는다. –

답변

1

아니라, "단어 사설과 끝 구분자 'sfbg'전 3 예 후"텍스트를 찾을 수있는 정규 표현식은 다음과 같습니다

(.*?EDITORIAL){3} : 여기

(.*?EDITORIAL){3}(?<content>.*?)sfbg

가 consituent 부품의 - 욕심없는 (더 안전한 - 일치하는 너무 mutch 일치하는) 와일드 카드 .*?을 사용하고 전체 그룹에 {3}을 곱하여 "편집자"라는 단어의 세 번째 사용까지 모든 것을 찾습니다.

(?<content>.*?) - 명명 된 일치 그룹 "content". 이것은 당신이 원하는 일치입니다, 그것은 단순히 때까지 일치 ...

sfbg - 끝 구분 기호.

regex101 demo

+0

그 코드는 정규식의 방법을 따르겠습니까? 예 :'re.find (. *? EDITORIAL) {3} (? . *?) sfbg'? –

+0

구문 규칙은 https://docs.python.org/2/library/re.html에서 찾을 수 있습니다. – sweaver2112

관련 문제