with open(searchfile) as f:
pattern = "\.?(?P<sentence>.*?\(([A-Za-z0-9_]+)\).*?)\."
for line in f:
match = re.search(pattern, line)
if match != None:
print match.group("sentence")
내가 괄호 안에 약어를 포함하는 모든 문장을 추출하는 것을 시도하고있다 (괄호 안의 기본적으로 2-4 편지 모두 대문자로파이썬은 괄호를 포함하는 모든 문장을 추출
는 :. 여기 (ABC) 예입니다 이 문장을 포함시키지 말고이 (AB) 하나를 포함하고, (AVCD) 이것을 하나 포함
Out : 여기에 (ABC) 예가 포함되어 있고 이것을 (AVCD) 하나를 포함하십시오
작동, 1 : – zx81
어떻게 문자열을이 작업을 수행하지만, 텍스트 파일에서 데이터를 읽고하지 않을까요? 루프를 한 번에 한 줄씩 실행하면 첫 번째 줄만 반환됩니다. – mrobillard
@mrobillard : 쉽게 할 수 있습니다. 필요한 것은'subeol' 변수를 for 루프 (바깥 쪽) 뒤에있는 라인의 끝 (offset부터 end까지)에 저장하는 것입니다. for 루프 내부에서'result'는 이제'result + = subeol + txt [offset : m.end()]'가되고, if 문 다음에'subeol'을 빈 문자열로 초기화해야합니다. 당신은 라인 단위로 모든 것을 넣을 필요가 있습니다. –