第1关:提取日志内容
任务描述
本关任务:使用Python
正则提取日志内容。
import re
def re_Regex():
#*********** Begin **********#
# 读取数据文件
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())
# 根据日志数据编写正则表达式提取数据内容
# 提取cs_item_sk的数值以1结尾的并且布尔值为true的所需的日志内容
#*********** End **********#
第2关:组合密码匹配
任务描述
本关任务:编写正则获取一组密码中的正确密码。
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
第3关:网页内容解析
任务描述
本关任务:使用python
正则解析网页内容。
import re
def parse_one_page(html):
#*********** Begin **********#
pattern = re.compile('<dd>.*?board-index.*?>(.*?)</i>.*?data-src="(.*?)"'
+'.*?name.*?a.*?>(.*?)</a>.*?star.*?>[^\u4e00-\u9fff]+(.*?)[^\u4e00-\u9fff]+</p>'
+'.*?releasetime.*?>(.*?)</p>.*?integer.*?>(.*?)</i>'
+'.*?fraction.*?>(.*?)</i>.*?</dd>',
re.S)
res = re.findall(pattern, html)
print(res)
#*********** End **********#