前言
上次我们学习了正则表达式的使用,那今天就以两个现实中的问题为例,来看看正则表达式的妙用,以此来提升工作效率。
案例一
如图,我们需要从基础数据中提取各种括号内的内容,这里有多种括号,有中文的小括号,还有英文的小括号和<>。如果用Excel中的函数的话也能实现,但是很复杂,我们这里用正则表达式来实现。
(1)将表格中的内容复制到word中,记得粘贴时,使用只保留文本。
(2)使用Ctrl+H调出替换窗口,使用通配符(这里其实就是使用正则表达式,但是需要注意的是,word中的正则表达式元字符有限,有些字符是没法使用的),在查找内容中输入:
[<>()\(\)]
在替换窗口中输入^t。
这里解释下[<>()\(\)]含义,中括号的意思就是匹配中括号内任意的字符,由于英文的小括号代表提取的意思,所以前面要加上\,用于转义。
这样就能把这些括号,全部替换为制表符。
(3)最后,复制到Excel中即可。
案例二
上文中为了使用正则表达式,需要在word中使用,其一比较麻烦,其二word中正则表达式的功能也不强大。所以要使用更复杂的功能,就需要使用编程语言了。
下次我们再详细讲解Python正则表达式,这次我们在在线网站上使用正则表达式(https://regex101.com/)。
在爬虫中,爬取的信息如下:
高楼层(第9层)|2013年建|3室1厅|南北
我们需要清洗为:
9 2013 3室1厅 南北
通过下面代码即可:
第(\d+)层\)\|(\d{4})年建\|(\d室\d厅)\|([东西南北]+)
今天的内容就到这啦,下期详细分享Python正则表达式。