【问题标题】:How do I get regex to only print the first of an array of information found?如何让正则表达式只打印找到的信息数组中的第一个?
【发布时间】:2014-06-16 11:40:45
【问题描述】:

所以我是网络抓取的新手,我已经被这个问题困扰了一段时间。

我正在使用带有 Regex 的 Python 来尝试获取某个类的某个值,虽然我确实得到了我想要的信息,但我将它放在一个数组中,然后是一堆我不想要的其他垃圾。如何让正则表达式只给我数组的第一个?

这行代码如下所示:

'<td class="item_dropped">(.+?)</td>'

为了可视化上述语句,输出的数据如下所示:

['1,453,343,231 ABC', '24,131,411 TPP', '<a href="/item/13445/">Foo</a>', '<a href="/item/3453/">Bar</a>']

我试图只抓住“1,453,343,231 ABC”。谁能帮帮我?

【问题讨论】:

  • 不要尝试使用正则表达式解析非正则语言 (HTML)。你会过得很糟糕。
  • 嗯...所以你想访问数组的第一项?

标签: python arrays regex web-scraping


【解决方案1】:

如果你的列表变量被称为result,你可以这样做:

>>> print result[0]
1,453,343,231 ABC

list_name[index] 语法在数字索引处获取列表元素(索引从 0 开始)。因此,0 的索引将获取第一个元素。

【讨论】:

  • 哇,这比我预期的要简单。我现在觉得有点傻,但是你解决了我的问题,谢谢。 :)
  • 当然,我总是支持答案并选择最佳答案。你解决了我问的问题,我不明白为什么我不会。^^
猜你喜欢
  • 1970-01-01
  • 2022-10-17
  • 2023-02-16
  • 1970-01-01
  • 1970-01-01
  • 2015-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多