아래의 Python 스크립트로 WURFL XML 파일에서 모든 전화 화면 해상도를 추출하려고합니다. 문제는 내가 첫 번째 경기 만 얻는다는 것이다. 왜? 내가 어떻게 모든 경기를 할 수 있니? Python 정규식 문제
WURFL XML 파일
이 특별히findall
는 각 패턴 일치에서 일치하는 첫 번째 그룹을 반환
findall
의 행동에 oddness입니다
http://sourceforge.net/projects/wurfl/files/WURFL/latest/wurfl-latest.zip/download?use_mirror=freefr
def read_file(file_name):
f = open(file_name, 'rb')
data = f.read()
f.close()
return data
text = read_file('wurfl.xml')
import re
pattern = '<device id="(.*?)".*actual_device_root="true">.*<capability name="resolution_width" value="(\d+)"/>.*<capability name="resolution_height" value="(\d+)"/>.*</device>'
for m in re.findall(pattern, text, re.DOTALL):
print(m)
명확한 설명 : 다음 다음 stdlib etree 모듈과 (IMHO) 무시 무시한 XPath의의 뿌리를 사용하는 나는 그룹이 내가 관심이 있지만 findall은 단지 몇 가지 이유 ONE 경기 (첫 번째 일치)을 반환받을. – AOO