gpt4 book ai didi

python - 使用正则表达式在 Python 中解析 XML

转载 作者:太空狗 更新时间:2023-10-29 17:14:41 25 4
gpt4 key购买 nike

我正在尝试使用正则表达式来解析 XML 文件(在我的例子中,这似乎是最简单的方法)。

例如一行可能是:

line='<City_State>PLAINSBORO, NJ 08536-1906</City_State>'

要访问标签 City_State 的文本,我正在使用:

attr = re.match('>.*<', line)

但没有返回任何内容。

谁能指出我做错了什么?

最佳答案

您通常不想使用re.matchQuoting from the docs :

If you want to locate a match anywhere in string, use search() instead (see also search() vs. match()).

注意:

>>> print re.match('>.*<', line)
None
>>> print re.search('>.*<', line)
<_sre.SRE_Match object at 0x10f666238>
>>> print re.search('>.*<', line).group(0)
>PLAINSBORO, NJ 08536-1906<

此外,当您可以使用类似 BeautifulSoup 的东西时,为什么还要用正则表达式解析 XML? :).

>>> from bs4 import BeautifulSoup as BS
>>> line='<City_State>PLAINSBORO, NJ 08536-1906</City_State>'
>>> soup = BS(line)
>>> print soup.find('city_state').text
PLAINSBORO, NJ 08536-1906

关于python - 使用正则表达式在 Python 中解析 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18168684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com