最近主要在研究Python和Linux,耽误了更新进度(Linux和Python真心好玩啊)。在这里先谢过热心的粉丝提醒,A哥还会坚持把VBA的内容更新下去。
上回我们说到,正则是一个很强大的工具。但具体怎么个强大法呢?我们先从一个例子看起。
某天你正在装作努力工作,老板过来扔给你一张表格:
定睛一看,这不是17年下半年各大旗舰机的发布时间么?老板要求你把各个机型的发布时间都提取出来,用来后面分析各大厂家的发布节奏以及研发周期。
仔细看看我们的数据,似乎很规整,都是这种套路出来的:
这简单啊,直接用split就行了!
当然,你赢了,我们可以用Split函数,只需要设定一些固定的分割点(于,年,月,日),如果你不嫌嵌套4层Split麻烦的话。
如果你已经和A哥一样懒,同时也意识到了嵌套4层Split会让程序的稳定性变差,那么我们就来研究一种新式的字符串匹配的方法,也就是正则(Regular Expression)了。
核心概念:Pattern
简单点来讲,我们可以把正则表达式看作是一种字符串匹配技术。
我们把要匹配的字符串的模式称为Pattern。例如,在上面例子里,如果要匹配日期,按照汉语的惯例,我们所需要的pattern就是:
是不是和新闻报道里的李某某的写法思路出奇的一致?
当然,机器是不会理解我们的汉语的,我们把上面的pattern翻译成机器可以读懂的语言,就是
什么鬼?机器的语言我看不懂啊!
稳住,我们能赢!
其实上面这个pattern从字面上并不难理解。我们会在后面详细介绍。
先预告一下,在接下来的2-3期内容我们都不会使用VBA。这就是像是打羽毛球,或者是击剑,最开始都是练步法,根本不需要上器械。
那我们在哪里练习呢?网上有很多可以在线测试正则表达式的网站,随便搜一个就能用。
我们就先用这个网站: http://tool.chinaz.com/regex/
来测试一下我们之前匹配日期的pattern:
Perfect!
接下来,我们就该学习如何构建我们想要的Pattern了。下回见!
领取专属 10元无门槛券
私享最新 技术干货