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

2024-03-23

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

例如,一行可能是:

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

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

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

但没有返回任何内容。

有人可以指出我做错了什么吗?


你通常不想使用re.match. 引用自文档 http://docs.python.org/2/library/re.html#re.match:

如果您想在字符串中的任何位置找到匹配项,请使用search() http://docs.python.org/2/library/re.html#re.search相反(另见search() 与 match() http://docs.python.org/2/library/re.html#search-vs-match).

Note:

>>> 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<

另外,当你可以使用类似的东西时,为什么还要用正则表达式解析 XMLBeautifulSoup http://www.crummy.com/software/BeautifulSoup/ :).

>>> 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用正则表达式在 Python 中解析 XML 的相关文章

随机推荐

  • 术语“元组”在关系数据库中意味着什么?

    请解释一下sql中的元组是什么意思 谢谢 这里的大多数答案都在正确的轨道上 然而 一个row 不是元组 Tuples are 无序的带名称的已知值集 因此 以下元组是相同的东西 我使用虚构的元组语法 因为关系元组很大程度上是一个理论构造 x
  • UWP:模拟 Windows IoT 上特定坐标的点击

    有没有办法模拟 Windows IoT 上特定坐标的点击 我尝试使用 mouse event mouse event MOUSEEVENTF LEFTDOWN x y 0 0 但是 我收到此错误 System EntryPointNotFo
  • JavaScript 中的动态对象构造?

    当我想使用从其他地方提供的参数调用 javascript 中的函数时 我可以使用apply函数的方法如下 array arg1 5 arg3 someFunc apply null array 但是如果我需要以类似的方式调用构造函数怎么办
  • 将值从工厂传递到控制器 angularJS

    这可能看起来像一个愚蠢的问题 但几乎花了整整3个小时 但仍然无法弄清楚我在这里做错了什么 可能有人可以指出原因以及如何解决这个问题 我觉得这是一个简单的解决方案 但仍然看不到它 所以事情是这样的 我有this http nhnent git
  • VIM - 从项目中的多个位置采购标签

    再会 我通常从事相对较小 少于 20 000 行代码 的项目 这些项目全部包含在单个目录中 有自己的 Makefile 并且相当容易使用 VIM is my preferred editor and when I open a projec
  • 有没有办法在 Google Play 上提交reactjs PWA?

    我想使用 一次编写 到处运行 所以我用create react app在reactjs中创建了一个PWA 我的应用程序运行良好 我可以将其从网站放在手机的主屏幕上 不过 我也希望在移动商店中可见 从 Google Play 开始 I tri
  • Boto3 Python Lambda 自定义返回错误

    有没有办法以 HTTP 响应的形式自定义 Boto3 Lambda 异常消息并返回它 同时发送强制失败 这是一个例子 except Exception as e print nException failed to invoke jobs
  • Cloudsight Api 对 Android 平台上的图像上传提供空响应

    我正在尝试上传图像 https api cloudsightapi com image requests https api cloudsightapi com image requests 但在请求调用之后 我将所有字段都设为 null
  • 禁用手势下拉表单/页面表模式呈现

    在 iOS 13 中 使用表单和页面样式的模式演示可以通过向下平移手势来关闭 这在我的一张表单中是有问题的 因为用户绘制到这个框中会干扰手势 它将屏幕向下拉 而不是绘制垂直线 如何在以工作表形式呈现的模式视图控制器中禁用垂直滑动以消除手势
  • 为什么我看不到 mod_wsgi 的进程

    我有一个 wsgi 应用程序配置如下 WSGIApplicationGroup GLOBAL WSGIDaemonProcess myapp user myuser threads 10 maximum requests 10000 WSG
  • window.unload() 在 jQuery 中不起作用

    我试图在关闭页面后提醒一些事情 一个简单的window unload示例如下 HTML
  • 针对整个表验证 UPDATE 和 INSERT 语句

    我正在寻找向表添加约束的最佳方法 该约束实际上是表上的唯一索引关系该记录与该表中的其余记录之间 想象一下下表描述了各个警卫的巡逻情况 来自之前的看守场景 PK PatrolID Integer FK GuardID Integer Star
  • 如何分析单个 Java (Spring) 方法的运行?

    我有一个在我的 PC 上运行的 Java Spring 应用程序 我可以附加调试器 我正在寻找一种分析单个方法的方法 最好是具有 UI 来深入了解消耗最多时间的子方法的方法 我尝试了 JDK 任务控制和 IntelliJ 的默认分析器 我相
  • jQuery.fn 是什么意思?

    什么是fn这里的意思是 jQuery fn jquery 在 jQuery 中 fn属性只是一个别名prototype财产 The jQuery标识符 或 只是一个构造函数 以及用它创建的所有实例 都继承自构造函数的原型 一个简单的构造函数
  • 在 Vertx 中,我需要将所有 HTTP 请求重定向到相同的 URL,但对于 HTTPS

    我在 Koltin 中编写了一个 Vertx web 处理程序 它将我收到的任何 HTTP 请求重定向到 HTTPS 并且我正在使用context request isSSL确定请求是否不是 SSL 在我将代码放在负载均衡器后面之前 这一切
  • Docker 容器中的 ASP.NET Core/.NET Core 控制台应用程序日志记录

    如何在 docker 容器内运行的 net core 应用程序中写入日志 以便日志消息显示在docker logs
  • 如何制作动画 svg 虚线?

    我尝试在 HTML SVG CSS JS 中制作动画虚线 这是我的第一个 svg 动画 显然 我什么都不懂 首先 这是我的虚线
  • C++ 成员变量

    考虑下面的类 class A A int number void setNumber int number 您可以通过 3 种方式实现 setNumber Method 1 使用 this 指针 void A setNumber int n
  • Jenkins 错误:未找到测试报告文件。配置错误?

    我不明白为什么我会出现这个错误 我已经通过 jenkins 在 Windows 上安装了 ant 我的项目叫做自由测试并保存在 C Program Files x86 Jenkins workspace test freestyle 我手动
  • 使用正则表达式在 Python 中解析 XML

    我正在尝试使用正则表达式来解析XML文件 就我而言 这似乎是最简单的方法 例如 一行可能是 line