您当前的位置:首页 > 电脑百科 > 程序开发 > 算法

正则表达式应用之快速提取书单

时间:2021-08-10 10:54:33  来源:  作者:用心做软件

打算给闺女买几本书,计划是列一个书单让闺女自己选。

于是找到另一个还算不错的书单介绍页,可惜它不让复制,鼠标右键选中提示

扫码以后就跳到学而思的网页让加老师的微信之类的。

这事怎么能难倒我这个程序员呢?工具伺候。

工具获取方法:头条首发:自己写的一款正则表达式测试工具

1、切换到网页源码页

我用的是Chrome浏览器,在书单页页面鼠标右键,然后点查看网页源代码

正则表达式应用之快速提取书单

 

2、你会看到网页源码了,鼠标滚轮到合适的位置,你就能看到书单文字了,这个是可以复制的,只不过里面有一些网页标签,有他们在不方便阅读。

正则表达式应用之快速提取书单

 

数字序号 + 、+书名+</div>符号结束

发现它的网页源码都是有规律的:

数字序号 + 、+书名+</div>符号结束

正则表达式应用之快速提取书单

 

那么正则表达式写为:

d+、.*?(?=</div>)

 

解释如下:

d+匹配连续的数字;

.*?匹配所有字符;

(?=</div>)以</div>结尾的字符,结果中不包含</div>

在软件中运行结果如下:

正则表达式应用之快速提取书单

 

原来是内容分成了两个不同的部分,先把前15个复制下来,然后再处理后面的:

正则表达式应用之快速提取书单

 

全部复制下来,发现前面15本是对的,后面的仅仅是介绍,没有书名

1、西方寓言的始祖

2、中国先秦时期的百科全书

3、兵家韬略之首

4、垂范千古的儒家经典

5、中国道家学说的开山之作

原来是内容分成了两个不同的部分,先把前15个复制下来,然后再处理后面的:

正则表达式应用之快速提取书单

 

总结发现规律,原来书名都是以《开头,</div>结尾,于是修改下正则表达式:

《.*?(?=</div>)

匹配结果如下,稍作处理得到了满意的结果:

《伊索寓言》 伊索

《诗经》 孔子

《孙子兵法》 孙武

《论语》 孔子及其弟子

《老子》 老子

《圣经》 希伯来人

《离骚》

《史记》 司马迁

《资治通鉴》 司马光等

《神曲》 但丁

《西厢记》 王实甫

《水浒传》 施耐庵

《三国演义》 罗贯中

《君主论》 马基雅维里

《一千零一夜》 阿拉伯人

《堂吉诃德》

《西游记》 吴承恩

《菜根谭》 洪应明

《蒙田随笔全集》 蒙田

《莎士比亚喜剧悲剧集》 莎士比亚

《堂吉诃德》 塞万提斯

《古文观止》 吴楚才,吴调侯

《唐诗三百首》 孙洙,徐兰英

《红楼梦》 曹雪芹,高鹗

《格林童话》 雅各布;格林,威廉;格林

《吉檀迦利》 泰戈尔

《变形记》 卡夫卡

《红与黑》 司汤达

《孙子兵法》齐名的一代巨着

《战争论》 克劳塞维茨

《安徒生童话》 安徒生

《简;爱》 夏洛蒂;勃朗特

《昆虫记》 法布尔

《茶花女》,断尽支那荡子肠

《茶花女》 小仲马

《包法利夫人》 居斯塔夫;福楼拜

《物种起源》 达尔文

《悲惨世界》 雨果

《罪与罚》 陀思妥耶夫斯基

《悲剧的诞生》 尼采

《曾国潘家书》 曾国藩

《安娜;卡列尼娜》 列夫;托尔斯泰

《梦的解析》 弗洛伊德

《鲁迅全集》 鲁迅

《毛泽东诗词》 毛泽东

《尤利西斯》 詹姆斯;乔伊斯

《朱自清散文》 朱自清

《志摩的省》 徐志摩

《宋词三百首》 朱疆村

《追忆似水年华》 马塞乐;普鲁斯特

《静静的顿河》 肖洛霍夫

《查泰莱夫人的情人》 劳伦斯

《卡耐基成功之道全书》 卡耐基

《钢铁是怎样炼成》 尼古拉;奥斯特洛夫斯基

《飘》 玛格丽特;米切尔

《倾城之恋》 张爱玲

《围城》 钱钟书

经济学》 萨缪尔森,诺德豪斯

《麦田的守望者》 塞林格

《老人与海》 厄纳斯特;海明威

《百年孤独》 加西亚;马尔克斯

《美的历程》 李泽厚

《不能承受的生命之轻》 米兰;昆德拉

文化苦旅》 余秋雨

 

《百年孤独》《活着》《悲惨世界》《老人与海》《挪威的森林》《人间词话》《唐诗三百首》《呐喊》《撒哈拉的故事》《不能承受的生命之轻》《海子诗全集》《三体》《四大名著》《围城》《1984》《傲慢与偏见》《茶馆》《魔戒》《白鹿原》《射雕英雄传》《我们仨》《月亮和六便士》《倾城之恋》《白夜行》《飘》《尘埃落定》《福尔摩斯探案全集》《诗经》《目送》《基督山伯爵》《边城》《如何阅读一本书》《苏菲的世界》《红高粱》《文学回忆录》《麦田里的守望者》《平凡的世界》《我与地坛》

《论语》《光荣与梦想》《全球通史》《自私的基因》《南渡北归》《中国哲学简史》《万历十五年》《社会契约论》《菊与刀》《失控》《文化苦旅》《乌合之众》《孙子兵法》《枪炮、病菌与钢铁》《中国历代政治得失》《宽容》《传家》《明朝那些事儿》《历史深处的忧虑》《剑桥中国史》《西方哲学史》《大问题:简明哲学导论》

《高效能人士的七个习惯》《经济学原理》《金字塔原理》《少有人走的路》《向前一步》《洛克菲勒给儿子的38封信》《基业长青》《影响力》《伟大的博弈》《与神对话》《心理学与生活》《卓有成效的管理者》《从0到1》《资本论》《激荡三十年》

《哈利 波特》《不一样的卡梅拉》《小王子》《丁丁历险记》《猜猜我有多爱你》《安徒生童话》《爱的教育》《失落的一角》《上下五千年》《好饿的毛毛虫》《夏洛的网》

《艺术的故事》《美的历程》《加德纳艺术通史》

《好妈妈胜过好老师》《男人来自火星,女人来自金星》

《时间简史》《科学百科》《万物运转的秘密》《从一到无穷大》《浪潮之巅》《上帝与新物理学》《硅谷百年史》《昆虫记》《万物简史》

怎么样,你学会了吗?



Tags:正则表达式   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
一、简介很多时候我们都需要用到一些验证的方法,有时候需要用正则表达式校验数据时,往往需要到网上找很久,结果找到的还不是很符合自己想要的。所以我把自己整理的校验帮助类分...【详细内容】
2021-12-27  Tags: 正则表达式  点击:(0)  评论:(0)  加入收藏
1. 什么是正则表达式正则表达式(Regular Expressions),也称为 “regex” 或 “regexp” 是使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,这样程序就可以将该模...【详细内容】
2021-11-26  Tags: 正则表达式  点击:(25)  评论:(0)  加入收藏
写在前面我们在日常的Java开发中,经常需要处理一些字符串,这个时候正则表达式是非常有用的。几乎在所有的编程语言中都支持正则表达式。以下我将压箱底多年的干货搬出来给大家...【详细内容】
2021-10-25  Tags: 正则表达式  点击:(28)  评论:(0)  加入收藏
正则作为处理字符串的一个实用工具,在Python中经常会用到,比如爬虫爬取数据时常用正则来检索字符串等等。正则表达式已经内嵌在Python中,通过导入re模块就可以使用,作为刚学Pyth...【详细内容】
2021-08-31  Tags: 正则表达式  点击:(77)  评论:(0)  加入收藏
打算给闺女买几本书,计划是列一个书单让闺女自己选。于是找到另一个还算不错的书单介绍页,可惜它不让复制,鼠标右键选中提示扫码以后就跳到学而思的网页让加老师的微信之类的。...【详细内容】
2021-08-10  Tags: 正则表达式  点击:(83)  评论:(0)  加入收藏
正则表达式到底是个啥?在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录...【详细内容】
2021-04-27  Tags: 正则表达式  点击:(243)  评论:(0)  加入收藏
作者:mathe,腾讯QQ音乐前端开发工程师正则表达式具有伟大技术发明的一切特点,它简单、优美、功能强大、妙用无穷。对于很多实际工作来讲,正则表达式简直是灵丹妙药,能够成百倍地...【详细内容】
2021-02-24  Tags: 正则表达式  点击:(198)  评论:(0)  加入收藏
概述正则表达式非常强大,能够解决我们开发时用于匹配一些特定的要求。并且java中还提供了相当强大的方法,扩展其功能性。下面我们就来介绍一下:1.定义一个关于用户名的正则表达...【详细内容】
2020-08-11  Tags: 正则表达式  点击:(68)  评论:(0)  加入收藏
“代码胜于雄辩。”&mdash;&mdash;林纳斯&middot;托瓦兹(Linus Torvalds)许多编程语言和操作系统都支持正则表达式(regular expression):定义搜索模式的一组字符串。正则表达式可...【详细内容】
2020-07-14  Tags: 正则表达式  点击:(37)  评论:(0)  加入收藏
正则表达式 - 语法正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的...【详细内容】
2020-07-05  Tags: 正则表达式  点击:(53)  评论:(0)  加入收藏
▌简易百科推荐
前言Kafka 中有很多延时操作,比如对于耗时的网络请求(比如 Produce 是等待 ISR 副本复制成功)会被封装成 DelayOperation 进行延迟处理操作,防止阻塞 Kafka请求处理线程。Kafka...【详细内容】
2021-12-27  Java技术那些事    Tags:时间轮   点击:(1)  评论:(0)  加入收藏
博雯 发自 凹非寺量子位 报道 | 公众号 QbitAI在炼丹过程中,为了减少训练所需资源,MLer有时会将大型复杂的大模型“蒸馏”为较小的模型,同时还要保证与压缩前相当的结果。这就...【详细内容】
2021-12-24  量子位    Tags:蒸馏法   点击:(9)  评论:(0)  加入收藏
分稀疏重建和稠密重建两类:稀疏重建:使用RGB相机SLAMOrb-slam,Orb-slam2,orb-slam3:工程地址在: http://webdiis.unizar.es/~raulmur/orbslam/ DSO(Direct Sparse Odometry)因为...【详细内容】
2021-12-23  老师明明可以靠颜值    Tags:算法   点击:(7)  评论:(0)  加入收藏
1. 基本概念希尔排序又叫递减增量排序算法,它是在直接插入排序算法的基础上进行改进而来的,综合来说它的效率肯定是要高于直接插入排序算法的;希尔排序是一种不稳定的排序算法...【详细内容】
2021-12-22  青石野草    Tags:希尔排序   点击:(6)  评论:(0)  加入收藏
ROP是一种技巧,我们对execve函数进行拼凑来进行system /bin/sh。栈迁移的特征是溢出0x10个字符,在本次getshell中,还碰到了如何利用printf函数来进行canary的泄露。ROP+栈迁移...【详细内容】
2021-12-15  星云博创    Tags:栈迁移   点击:(19)  评论:(0)  加入收藏
一、什么是冒泡排序1.1、文字描述冒泡排序是一种简单的排序算法。它重复地走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地...【详细内容】
2021-12-15    晓掌柜丶韶华  Tags:排序算法   点击:(16)  评论:(0)  加入收藏
在了解golang的map之前,我们需要了解哈希这个概念。哈希表,又称散列表(Hash table),是根据键(key)而直接访问在内存储存位置的数据结构。也就是说,它通过计算出一个键值的函数,将...【详细内容】
2021-12-07  一棵梧桐木    Tags:哈希表   点击:(13)  评论:(0)  加入收藏
前面文章在谈论分布式唯一ID生成的时候,有提到雪花算法,这一次,我们详细点讲解,只讲它。SnowFlake算法据国家大气研究中心的查尔斯&middot;奈特称,一般的雪花大约由10^19个水分子...【详细内容】
2021-11-17  小心程序猿QAQ    Tags:雪花算法   点击:(24)  评论:(0)  加入收藏
导读:在大数据时代,对复杂数据结构中的各数据项进行有效的排序和查找的能力非常重要,因为很多现代算法都需要用到它。在为数据恰当选择排序和查找策略时,需要根据数据的规模和类型进行判断。尽管不同策略最终得到的结果完...【详细内容】
2021-11-04  华章科技    Tags:排序算法   点击:(37)  评论:(0)  加入收藏
这是我在网上找的资源的一个总结,会先给出一个我看了觉得还行的关于算法的讲解,再配上实现的代码: Original author: Bill_Hoo Original Address: http://blog.sina.com.cn/s/bl...【详细内容】
2021-11-04  有AI野心的电工和码农    Tags: KMP算法   点击:(36)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条