다음과 비슷한 OPML 파일을 검색하고 있습니다. 개요 텍스트와 xmlUrl을 가져 오려고합니다.정규식을 사용하여 OPML (XML) 파일에서 인용 된 속성 값을 찾는 방법
<outline text="lol">
<outline text="Discourse on the Otter" xmlUrl="http://discourseontheotter.tumblr.com/rss" htmlUrl="http://discourseontheotter.tumblr.com/"/>
<outline text="fedoras of okc" xmlUrl="http://fedorasofokc.tumblr.com/rss" htmlUrl="http://fedorasofokc.tumblr.com/"/>
</outline>
내 기능 : 나는 단지 문자열을 반환하도록 rssName 및 rssUrl에 대한 적절한 정규식 표현을 무엇
outline text="fedoras of okc"
xmlUrl="http://fedorasofokc.tumblr.com/rss"
:
import re
rssName = 'outline text="(.*?)"'
rssUrl = 'xmlUrl="(.*?)"'
def rssSearch():
doc = open('ttrss.txt')
for line in doc:
if "xmlUrl" in line:
mName = re.search(rssName, line)
mUrl = re.search(rssUrl, line)
if mName is not None:
print mName.group()
print mUrl.group()
그러나, 반환 값으로 나올 따옴표 사이에?
질문과는 관계가 없지만 여전히 도움이 될 것입니다. 정규식을 미리 컴파일하여 몇 초를 절약 할 수 있습니다 실행 시간 'rssName = re.compile ('개요 텍스트 = "(. *?)")'와'mName = rssName.search (line)'을 사용하십시오. – kay
왜 정규식을 통해 이것을하고 싶습니까? 올바른 도구가 아닙니다. XML 파서를 사용하십시오. 표준 라이브러리에는 몇 가지가 있습니다. –
@ DanielRoseman의 제안과 관련하여 부엌 싱크대를 포함하여 사용하기 쉬운 것을 원한다면 아름다운 수프 라이브러리의 XML 파싱 구성 요소 인 아름다운 돌 수프를 살펴보십시오. – Endophage