题目一:
心得:既然是面试题,那每一道题都有其所考察的目的,这道题考察的是对正则表示式的运用。
解析:综合了Leetcode中各路大神的讲解,答案整理如下。
1.题目的核心思想是匹配符合规则的字符串,设计正则表达式则是重中之重。
步骤1:规则分析
步骤2:按照规则写正则表达式
注释: ^代表字符串开始的位置 $代表字符串结束的位置
步骤3:优化表达式
在步骤2中,我们采用了大量的[0-9][0-9][0-9]这样的操作,书写和阅读十分不便。针对这种情况正则表达式有一个限定符的功能,限定前面字符出现的次数。
即:[0-9][0-9][0-9] 等价于 [0-9]{3}:
将表达式1,2合并最终表达式为:
步骤4:采用grep 语句进行输出。
注释:有关grep 的用法会集中讲解。
刚拿道这道题的时候,奋笔疾书的写下了自己的检测逻辑如下:

(有跟我一样的吗,手动狗头保命!)