还在苦恼正则不好写?这些工具帮你解决问题!
正则表达式是一种强大的用于描述字符串模式的工具。它可以用来匹配、搜索、替换和提取文本中符合特定模式的字符串。这种工具被广泛应用于字符串匹配、数据校验、数据清理、数据提取等场景。各种编程语言和文本编辑器都支持正则表达式,如Java、Python、PHP、Perl、JavaScript、Sublime Text、Notepad++等。
但这么强大的工具使用起来并不简单。想要熟练地掌握正则表达式需要掌握正则表达式的语法,而正则表达式的语法是比较抽象的。以下是来自维基百科的正则表达式的语法介绍:
但实际上正则表达式的作用常见的主要是:数据的校验,数据的查找和数据清洗和提取,其中数据的清洗和提取在python的爬虫中使用比较多,这些功能其实有其他实现方法使用beautiful代替正则实现数据的清洗和提取
在python爬虫中,正则表达式往往用来提取爬取的页面中的数据。因为爬取的页面代码是由HTML标签构成的,他们往往符合一定的规律(比如链接使用a标签,以结尾),使用构造好的正则表达式可以批量地把页面中的一些我们需要的资源(他们往往是重复的且有规律的)筛选出来。
举个例子,筛选html中所有标签为span,类名为title的标签,可以使用如下正则表达式
(.*?) 但是使用其他方法也能达成同样的效果,比如beautifulsoup4(简称bs4),就是一个用于解析HTML代码的库,使用bs4可以用一种比较容易理解的方式来选中和清洗我们需要的数据,以爬取豆瓣前250的代码为例:import requests from bs4 import BeautifulSoup url = "https://movie.douban.com/top250" response = requests.get(url) html = response.content soup = BeautifulSoup(html, "html.parser") titles = soup.select("p.hd > a > span:nth-child(1)") for title in titles: print(title.get_text()) 使用正则表达式生成工具生成数据校验正则式
对于前端开发而言,正则表达式是避免不了的内容,前端往后端发送数据时往往要先经过前端正则查一遍,严格一点的话后端也要查一遍,不过这些需要查的数据往往有固定的正则表达式可用。这个工具可以用来测试正则表达式,也提供了一些常用的正则表达式的写法:
在线正则表达式测试
而这个工具可以根据正则表达式生成代码:
在线正则表达式测试使用字符串方法实现查找
要在一个字符串中查找一个子字符串不一定需要使用正则表达式,很多编程语言都提供了字符串查找的方法。
在python中,可以使用find方法来查找一个已知的字符串,使用replace方法来替换一个字符串,使用split方法来切割一个字符串。其他编程语言中一页有类似的方法。不过并不是所有的查找都能用字符串方法解决,它只适用于已确定子字符串的情况下的使用。小结
虽然正则表达式语法比较复杂,但是多用几次也能熟悉它的语法,我们的编程并不是使用正则表达式来开发的,使用正则表达式的时间或许只有1%,所以并不必花费太多时间去研究正则表达式,利用好工具也可以快速写好一个正则表达式!
三消息!王芳接管中国男篮,赵睿升任广东队长,哈德森或加盟宁波一,王芳接管中国男篮目前中国男篮迎来了比较大的调整,主教练杜锋正式下课,塞尔维亚籍教头乔尔杰维奇接手中国男篮。接下来的比赛任务就是备战世预赛第6个窗口期以及明年的男篮世界杯,更重要
沙特主帅阿根廷是最好的球队之一不认为我们会小组出线北京时间11月22号1800,卡塔尔世界杯小组赛C组首轮,沙特阿拉伯将迎来与阿根廷的比赛。赛前,沙特阿拉伯主帅勒纳尔出席了球队的新闻发布会,他在发布会上谈到了球队在世界杯的目标,对
身边世界杯现场都出现了哪些品牌?vivo海信醒目昨晚,卡塔尔世界杯正式开幕,在比赛现场不知道大家是否有注意到有不少眼熟的品牌,比如万达vivo蒙牛海信等。据金十数据显示,中国企业是卡塔尔世界杯最大赞助商,赞助费达到2。07亿美元
自然大方优雅!江珊陈小艺近照,让我看到女星老去该有的样子近日,有网友在北京偶遇了女演员陈小艺,并晒出了照片。照片中,陈小艺坐在保姆车中,对着粉丝们挥手,笑容灿烂。只见她身穿棕色卫衣,搭配黑色外套,头发全部梳在脑后,穿着打扮十分简单。虽然
看透人心的45句真相,让你知道身边人有多危险人们互相蔑视,又相互奉承。每个人都睁着眼睛,但不等于每个人都在看世界。大部分感情的延续都是利益筹码的延伸。有足够的实力,原则和底线才会被尊重。生活没有答案,生活也不需要答案。有些事
收集宝可梦朱紫中的搞笑BUG,正在成为训练师们的潮流第九世代宝可梦游戏宝可梦朱紫已于11月18日发售,虽然这部作品的媒体评分并不算亮眼,却不妨碍它在全世界范围内超高涨的人气,除了预售量直接成为历代最高外,仅仅几天还成了英国市场年度首
魅力云田雪满枝头万事胜意白雪纷纷何所似未若柳絮因风起一夜梦醒雪白将人间藏匿放眼望去芳华尽收眼底立冬后的第一场雪为天空点缀颗颗银珠又如蝴蝶般翩翩起舞冰清玉洁温柔恬静放眼望去风景甚好银装素裹勾起无限遐想色彩斑
深入自己的内心生活某种意义上,我们每个人都过着三类生活。我们有公众生活,其中我们要与其他人在工作社区或社会活动中交往。我们有个人生活,其中我们远离了公众我们可以独处,也可以选择与家人或朋友在一起。但
队友发生冲突霍华德却无动于衷还在煽动球迷的情绪令人发指在11月20日,台中太阳队和桃园永丰云豹队的一场比赛中,发生了一件令人咋舌的事情,到底是什么事呢?比赛进行到第二还剩8分43秒的时候,台中太阳队2739桃园永丰云豹队,然后两队发生
卡塔尔王子帅到我了!穿白袍络腮胡尽显男人魅力,小贝都被比下去随着世界杯的开幕,举办地卡塔尔也成功走入全球球迷的视线中,关于卡塔尔的各种新闻层出不穷,不管是在开幕仪式上惊艳亮相的卡塔尔太后,还是看球,被做成表情包的卡塔尔王子都成功火出圈,引来
德国队VS日本队德国国家队历史上5次参加世界杯比赛没有净胜对手1球或以上数据,在世界杯历史上,过去9场比赛,有6场上半场零封对手,球队上一次在世界杯历史上保持不败(2002年)还要追溯到1984年