python学习笔记-正则表达式提取指定关键字

背景

提取一个字符串中“hash=”之后连续的字符。

方法1:

通过对string的操作,获取“hash=”之后长度为32的子字符串。

# -*- coding: utf-8 -*-
__author__ = 'jason'
#从日志文件中提取出hash=
import re
fp = open('testdata.txt', "r")
while 1:
    line = fp.readline()
    if not line:
        break
    index = line.find("hash=")
    index = index + len("hash=")
    print(line[index:index+32])

方法2:

通过正则匹配的方式,匹配出“hash=”之后的的子字符。

# -*- coding: utf-8 -*-
__author__ = 'jason'
#从日志文件中提取出hash=
import re
fp = open('testdata.txt', "r")
while 1:
    line = fp.readline()
    if not line:
        break
    s = re.findall(r'hash=(\w+)*', line, re.M)
    print s[0]

你可能感兴趣的:(Python)