python - 提取大字符串的部分

标签 python regex

我正在用 python 编程,我正在尝试抓取网站的页面源。举个例子,我正在尝试提取 upc 号码。这只是页面的一部分。 upc 周围有一堆字母、数字和符号。

myString = someLargeString + '<meta property=og:upc content=02276254215 />' + anotherLargeString

我认为我可以使用多次拆分来提取它,但我想知道是否有更好的方法。我了解了一些有关使用 findall 和正则表达式的知识,但我不确定这是否可以应用于此处。拆分是解决这个问题的最佳方法吗?

任何帮助或建议将不胜感激。非常感谢。

最佳答案

正则表达式可能更好,因为它更快、更容易维护并且更容易阅读。 Here's关于正则表达式的一个很好的教程,如果您打算长时间解析这个网站,您可能应该阅读它。

举个例子,如果您只想查找一个匹配项:

import re

m = re.search('upc content=([0-9]*)', string)
if m:
   upc = m.group(1)
   print upc

如果您要重用正则表达式,最好预先对其进行预编译,如 here 所示。

关于python - 提取大字符串的部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33434288/

相关文章:

regex - Coldfusion - 简单的 HTML 解析

javascript - 根据多个分隔符拆分字符串

python - 使用基于示例的代码暂停动画时遇到问题

javascript - 用于匹配 Javascript 中的工单 ID 的正则表达式模式(前缀-破折号-数字)

python - tensorflow/keras 神经网络中的复杂输入/输出是可能的吗?

python - 如何使用python从GPS(经度和纬度)时间序列数据中提取速度和加速度特征

jquery - 检测并删除文本区域中的 URL

javascript - 用于替换特定单词的正则表达式

python - 确定属性是否是 sqlalchemy 中的 backref

python - Django-社会-auth : Incorrect Authentication Service when using twitter