在Linux上使用Python 2.7.3。这是一个shell会话逐字。
>>> f = open("feed.xml")
>>> text = f.read()
>>> import re
>>> regexp1 = re.compile(r'</?item>')
>>> regexp2 = re.compile(r'<item>.*</item>')
>>> regexp1.findall(text)
['<item>', '</item>', '<item>', '</item>', '<item>', '</item>', '<item>', '</item>']
>>> regexp2.findall(text)
[]
这是一个错误,还是我不了解Python正则表达式?
答案 0 :(得分:5)
默认情况下,'。'与换行符不匹配。试试
regexp2 = re.compile(r'<item>.*</item>', re.DOTALL)
答案 1 :(得分:0)
以下是此问题的最佳答案:不要使用正则表达式来解析非常规语言,例如XML。 It drove one S-O user insane. Another relevant link.