Python之正则表达式综合练习

第一关:提取日志内容
Python之正则表达式综合练习_第1张图片
代码:

import re

def re_Regex():
    #*********** Begin **********#
    # 读取数据文件
    # 根据日志数据编写正则表达式提取数据内容
    # 提取cs_item_sk的数值以1结尾的并且布尔值为true的所需的日志内容
    string = r'cs_item_sk[\s=]*(\d*?1+)\s+.+?true\s*(\d+)$'
    pattern = re.compile(string)

    with open('./test_one/src.txt', 'r') as f:
        for line in f.readlines():
            line = line.strip()
            m = pattern.search(line)
            if m is not None:
                print(m.groups())
    #*********** End **********#

第二关:组合密码匹配
Python之正则表达式综合练习_第2张图片
Python之正则表达式综合练习_第3张图片
代码:

import re
def re_test2(input_data):
    result=[]
    #*********** Begin **********#
    result = re.findall(r'^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*.?]+$)[a-zA-Z\d!@#$%.?^&*]+$',input_data,re.M)
    #*********** End **********#
    return result

第三关:网页内容解析
Python之正则表达式综合练习_第4张图片
Python之正则表达式综合练习_第5张图片
代码:

import re

def parse_one_page(html):
    #*********** Begin **********#
        pattern = re.compile('
.*?board-index.*?>(.*?).*?data-src="(.*?)"' +'.*?name.*?a.*?>(.*?).*?star.*?>[^\u4e00-\u9fff]+(.*?)[^\u4e00-\u9fff]+

'
+'.*?releasetime.*?>(.*?)

.*?integer.*?>(.*?)'
+'.*?fraction.*?>(.*?).*?
'
, re.S) res = re.findall(pattern, html) print(res) # 将输出结果打印即可 #*********** End **********#

你可能感兴趣的:(Python,python,正则表达式,字符串)