Python正则表达式似乎有问题

时间:2012-07-30 15:35:41

标签: python regex python-2.7

在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正则表达式?

2 个答案:

答案 0 :(得分:5)

默认情况下,'。'与换行符不匹配。试试

regexp2 = re.compile(r'<item>.*</item>', re.DOTALL)

答案 1 :(得分:0)

以下是此问题的最佳答案:不要使用正则表达式来解析非常规语言,例如XML。 It drove one S-O user insane. Another relevant link.