正则表达式匹配冒号_善用正则表达式,远离机械性重复工作

一、前言

如题,我想草率地下一个断言,但凡是需要机械性重复操作的文本工作,正则表达式十有八九都有施展神技的机会

二、正则表达式的应用场景

微信群里收到一条消息,每人需要选择总时长1800分钟的在线课程。鉴于时长加总的繁琐和无谓,这位同学十分温馨地提醒大家可以选择相同的课程。

d4313d30013d13e6048e3363bc5ee4ec.png

不过需求各异,选择喜欢的课程才是最重要的,于是出现了这样的局面。

aab3a5e580f2cc2465ad56ac8a4b0c4e.png

虽然我不知道上图中同学2是如何计算1166分钟的,但是3、4同学在面对时长问题时内心一定有过那么一瞬间——“万马飘过”。

实际上这个问题可以很简单,使用正则表达式,只需1分钟。

要做的,基本也就下面这3个动作:

  • 使用正则表达式;

  • 使用编辑器的正则匹配查找功能;

  • 使用Excel的自动求和功能。

三、正则表达式运用实操

我们一起试一下。

1. 打开上面那个叫《电路原理》的课程页面,进入目录页,如图每一章节都包含时长信息。

3f1232b90b85c347e397d8828d2736dd.png

2. "Ctrl+A"选中目录页所有内容,"Ctrl+C"复制,"Ctrl+V"粘贴至一个txt文件。

3. 选择一个支持正则表达式的编辑器(市面上大多数编辑器都支持正则,我使用的是Sublime)打开上面的txt文件。

4. “Ctrl+F”打开搜索界面,点选正则匹配模式,输入正则表达式“\d{2}:\d{2}”,点击“查找全部”后,文件中所有的时间数据被选中。

f1667ba444a3c486da9b1b28b8d1b775.png

5. 此时,“Ctrl+C”复制,在一个空白Excel页面中选中一个单元格“Ctrl+V”粘贴,选中该列,所有的时长被自动求和,1464分35秒

3053f1614ca16cff6da25f4c15c93ad4.png

四、简单解释一下

上述实例中的正则表达式“\d{2}:\d{2}”,其含义就是匹配2个数字、1个冒号、2个数字连续组成的字符串,正好符合课程目录中时长数据的格式。以“正则模式”进行搜索时,编辑器会找到与正则表达式格式相同的字符串,从而可以轻松地将想要的内容提取出来进行处理。

五、后话

如你所见,正则表达式应用起来是可以爽到飞的。时间关系,更深入的问题暂且不表,留作课后交流或网上自习吧。

不过,千万不要觉得正则是奇技淫巧或小儿科,它是潜力无穷的利器神兵,拥有它、用好它是真的需要花点时间的。

不过,比起那些恶心而又浪费时间的机械性重复劳动,花点时间是既正当又值得的事。

d187632bc7fd123fc24aa82523bc5a31.png

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值