抓住正则表达式的部分

时间:2014-01-23 16:55:26

标签: python regex

我不确定如何提取我在正则表达式中创建的变量或组。具体为datetimeIP。我已阅读其他帖子和文档,但我有点困惑。我想知道是否有人可以为我生成一个例子。我想要做的是能够提取datetimeIP以供日后使用。也许存储在稍后要调用的变量中

示例日志:

log = 'Oct 7 13:24:36 192.168.10.2 2013: 10:07-13:24:35 httpproxy[15359]: id="0001"

httpproxy515139 = re.compile(r'(?P<datetime>\w\w\w\s+\d+\s+\d\d:\d\d:\d\d)\s+(?P<IP>d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}).*')

1 个答案:

答案 0 :(得分:2)

此示例应该可以帮助您:

>>> import re
>>> sample = 'this is a sample text'
>>> third_word = re.compile(r'\S+ \S+ (?P<word>\S+) .*')
>>> ms = third_word.match(sample)
>>> ms.groupdict()
{'word': 'a'}

您需要访问返回的匹配对象的groupdict()方法。