#和秋叶一起学word#S04-4课时,变态级别挑战解析

图片来自课程截图

题目:

#和秋叶一起学Word# S04-4课的变态级别挑战:利用替换表达式,一次性将三等奖的12位电话号码删掉最后一个数字,并且将电话号码断开,加上短划线符号,更改成3-4-4格式。

解题思路:

1、首先你要将11位手机号码的表达式转变为可应用于12位的手机号码

2、其次你要删掉最后一个数字

3、并且加上短划线符号,为3-4-4格式

4、前面提到的3点必须同步进行

解题过程:

根据已知条件,11位手机号码时,表达式为 ([0-9]{3})([0-9]{4})([0-9]{4}[!0-9])

( )看做一个整体,该表达式被分为三段

[0-9] 表示三段字符为任意数字

{  } 内的数字表示3、4、4个字符

[!0-9] 的存在不是必须的,可不用搭理(稍后有解释)

那么相应的,12位手机号码的表达式可以这样写(请在英文状态下输入)

被分为四段,表达式:(  )(  )(  )(  )

[0-9]必须存在,填进括号里,表达式为: ([0-9])([0-9])([0-9])([0-9])

字符数分别为 3、4、4、1,表达式为:([0-9]{3})([0-9]{4})([0-9]{4})([0-9]{1})

现在查找内容一项已经解决(记得勾选使用通配符

图片来自本人

接下来是替换一栏如何填写

根据已知条件,手机号码打码时的表达式为 \1****\3

\1 代表引用查找内容的第1段,

**** 代表你打码时所呈现的格式

同理,\3 代表引用查找内容的第3段

那么,12位手机号码被划分为4段,表达式为 \1\2\3\4

又因为题目要求删掉最后一个数字,也就是说 \4 没必要写

又因为题目要求加上短划线符号,所以替换一栏改写为  \1-\2-\3

so……

图片来自本人

为什么之前说 [!0-9] 的存在不是必须的,是因为当你在表达式中添加它时,

图片来自本人

会出现这种现象(我也不知道这种现象叫什么)

图片来自本人

又因为在做普通挑战的题目时,删掉 [!0-9] ,前后对比的答案并没有任何区别。

so……

总结:

一开始我看到这个题目,我是拒绝的,有种“卧槽,看上去好难的样子”。搁平时,我都不会去尝试的。

现在这篇解析,是我花了2个小时盯着那个复杂的表达式(其实并不复杂),各种查资料,参考别人解答,

由最开始的“什么鬼,根本看不懂,老师的题目太变态了吧”,(尽管老师有给普通题的解题思路,然而我并没有看懂)

到中间的“原来3个括号分成了3段啊,我怎么到现在才明白过来,原来老师说的是这个样子啊”,

再到最后的“原来也不过如此嘛,又掌握了一项酷(zhuang)炫(bi)技能。”

我心态上的转变也是自己始料未及的。

秋叶老师在《不要等到毕业以后》一书中提到:

其实,你和高手之间只差了一个行动。

一切都没有你想象的那么难。

(PS:本文的解题过程可能有很多缺陷,真的不好意思,因为作者也是个小白,只能用很傻很笨的方法一步步尝试,请大家多多包涵)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【1】7,9,-1,5,( ) A、4;B、2;C、-1;D、-3 分析:选D,7+9=16;9+(-1)=8;(...
    Alex_bingo阅读 19,081评论 1 19
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,837评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,740评论 18 399
  • 【直播回顾】 周五早评中鹏凯提示短期仍需消化,周五全天整理消化吸收; 盘中鹏凯推测K图与高低点与事实相符,高低点仅...
    看市者鹏凯阅读 171评论 0 0
  • 今天晚上我写完作业我妈妈说,快到平安夜了,我们一起做个苹果吧,我说好的,我就先在家里做了几步,我有一步不会,是我妈...
    碎片幻影阅读 217评论 0 0