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

#和秋叶一起学word#S04-4课时,变态级别挑战解析_第1张图片
图片来自课程截图

题目:

#和秋叶一起学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})

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

#和秋叶一起学word#S04-4课时,变态级别挑战解析_第2张图片
图片来自本人

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

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

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

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

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

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

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

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

so……

#和秋叶一起学word#S04-4课时,变态级别挑战解析_第3张图片
图片来自本人

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

#和秋叶一起学word#S04-4课时,变态级别挑战解析_第4张图片
图片来自本人

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

#和秋叶一起学word#S04-4课时,变态级别挑战解析_第5张图片
图片来自本人

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

so……

总结:

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

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

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

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

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

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

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

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

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

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

你可能感兴趣的:(#和秋叶一起学word#S04-4课时,变态级别挑战解析)