【问题标题】:Regex Python Extract Informations [closed]正则表达式 Python 提取信息 [关闭]
【发布时间】:2013-04-17 08:51:40
【问题描述】:

我想知道 python 中是否有一种方法可以像下面的示例那样从一行中提取信息并将其放入 表:

table = [ Time: 01:09:25.258, O:Localhost, R:192.168.1.1 id:62 ] 

data = "01:09:25.258 mta   Messages  I Doc O:Localhost   R:192.168.1.1   id:62 "

【问题讨论】:

  • 很难说这里要问什么。这个问题是模棱两可的、模糊的、不完整的、过于宽泛的或修辞的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便更好地回答,请参阅FAQ,尤其是How to Ask
  • 好吧,我想拆分数据并将其放入表中,我尝试过这种方式,但它不起作用(我是 python 的初学者..) import re data = "01 :09:25.258 mta 消息 I Doc O:Localhost R:192.168.1.1 id:62 " id = re.finditer(r"\id:(\d+)\, data ) O = re.finditer(r"\O: (\d+)\, data ) R = re.finditer(r"\R:(\d+)\, data ) tab = [ id, O, R ] 打印标签
  • 我肯定你想做很多事情,但是你上面贴的垃圾是没用的。如果您需要帮助,您需要发布实际代码、一些实际示例,而不是假设我们可以读懂您的想法或知道您想要完成什么。

标签: python regex python-2.x


【解决方案1】:

对于这项任务,我认为使用字典是个好主意。你可以这样做:

import re

data = "Time:01.09.25.258 O:Localhost R:192.168.1.1 id:62 "

result = {}
for i in data.split():
    j, k = re.findall(r'[^: ]+', i)
    result[j] = k

print(result) #Prints {'id': '62', 'O': 'Localhost', 'Time': '01.09.25.258', 'R': '192.168.1.1'}

【讨论】:

  • 太棒了,这正是我正在寻找的,现在我将不得不编辑它,因为我的消息比这要长得多;感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多