十三、正则练习题
发布日期:2021-10-31 07:31:25
浏览次数:9
分类:技术文章
本文共 1739 字,大约阅读时间需要 5 分钟。
正则常用语法
单字符匹配
. 匹配除换行符之外的任意一个字符。
[…] 表示匹配一个字符集集合,如[A-Za-z0-9]表示匹配所有字母和数字。 [^…] 表示匹配除该字符集集合指定字符外的任意字符。如[^0-9]表示匹配除数字之外的所有字符。 \ 转义字符,用来改变特殊字符的原有含义(使其表示本身)。 预定义字符集 \d 表示数字 \D 表示非数字 \s 表示空白字符 \S 表示非空白字符 \w 表示字母和数字 \W 表示非字母和数字 字符次数匹配 * 匹配前一个字符0或者无限次 + 匹配前一个字符1或者无限次 ? 匹配前一个字符0或者1次边界匹配
^ 匹配字符串开头
$ 匹配字符串结尾分组
(…) 分组
(?P) 分组,并且指定该分组的名称为NAME。 (?P=NAME) 引用名称为NAME的分组所匹配到的字符串,配合上一个使用练习题一
import reimport requestsurl = "http://qwd.jd.com/fcgi-bin/qwd_searchitem_ex?skuid=26878432382%7C1658610413%7C26222795271%7C25168000024%7C11731514723%7C26348513019%7C20000220615%7C4813030%7C25965247088%7C5327182%7C19588651151%7C1780924%7C15495544751%7C10114188069%7C27036535156%7C10123099847%7C26016197600%7C10503200866%7C16675691362%7C15904713681"session = requests.session()r = session.get(url)html = r.text# print(html)reg = re.compile(r"\"skuid\":\"(\d+)\",\s+\"\S+\s+\"skuurl\"\S+\s+\"skuimgurl\":\"(\S+)\",")result = reg.findall(html)print(result)import codecsimport reimport osregUpstream = re.compile(r"\s*(upstream\s+(\S+)\s+{[^}]+})")with codecs.open("ga10.wms5.jd.com.txt") as fu: textList = regUpstream.findall(fu.read()) if not os.path.exists("upstream"): os.mkdir("upstream") os.chdir("upstream") for item in textList: with codecs.open(item[1], "w") as fw: fw.write(item[0]) os.chdir("..")
练习题二
regLocation = re.compile(r"(location\s+/(\S+)/\s+{\s+proxy_next_upstream.*[^]]*?})")with codecs.open("ga10.wms5.jd.com.txt") as fl: textLocation = regLocation.findall(fl.read()) if not os.path.exists("location"): os.mkdir("location") os.chdir("location") for each in textLocation: file = each[1] + ".locaion.conf" with codecs.open(file, "w") as flw: flw.write(each[0])
转载地址:https://blog.csdn.net/weixin_39934221/article/details/80202339 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年03月29日 05时43分00秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
设置Squid Cache_mem大小
2019-04-27
squid日志文件太大,怎样处理?
2019-04-27
让Squid 显示本地时间
2019-04-27
linux mysql 命令 大全
2019-04-27
清除Squid缓存的小工具
2019-04-27
Varnish Cache 3.0.0安装
2019-04-27
深入探讨Varnish缓存命中率
2019-04-27
Linux下文件如果没有权限不能被Apache访问
2019-04-27
Linux内核学习四库全书
2019-04-27
Linux内核模块编程入门
2019-04-27
使用Cacti监控你的网络Cacti的安装
2019-04-27
2011年6月编程语言关注度排行
2019-04-27
Varnish使用小结
2019-04-27
千万级并发HAproxy均衡负载系统介绍
2019-04-27
什么是A记录、MX记录、CNAME记录
2019-04-27
MongoDB简介
2019-04-27
Varnish purges 缓存清除
2019-04-27
Linux下redis安装部署
2019-04-27
水平切分与垂直切分
2019-04-27