1. 分类产品标签
我们有以下的这一段源文本:
PQ92819x请把源文本复制到你的正则表达式测试工具比如精易编程助手中,然后完成如下匹配任务:
(1)请匹配出所有以“PQ”开头,接着是5个数字(00000到99999),然后以大写或者小写“X”结尾的行。允许有子匹配文本(用上小括号)。
提示:答案有3个。
(2)请匹配出所有以“RFT”开头,接着是7个大写字母或者数字的任意组合,最后以一个数字结尾的行。
提示:答案有3个。
(3)请匹配出所有以“A”开头,接着是7到10个大写字母,接着是3到7个数字结尾的行。
提示:答案有1个。
解析:
这道题通过分析,我们需要使用多行匹配来完成,记得在测试工具的右上角勾选上全局,区分大小写以及多行模式。
(1)
^PQ\d{5}(x|X)$
这种写法会有子匹配文本,如果想不出现子匹配文本,我们可以写成这样:
^PQ\d{5}[xX]$
使用中括号来替代竖线选择符。
最后的结果:
(2)
^RFT[0-9A-Z]{7}\d$
最后的结果:
(3)
^A[A-Z]{7,10}\d{3,7}$
最后的结果:
2. 找出所有符合条件的课程名
我们有以下的这一段源文本:
CSE 101
AMS 310
PHY 132
Wrt 102
CSE114
ECO330
CHNN 101
Ams 261
MAT 200
WRT101
frn1012
che 299
C-S-E 114
C.S..E215
AMS-211
B,,,I.-O 255
-ECO 102
其中每一行都是一个课程名。请按下列要求找出所有有效课程名写法的行。课程首先是以三个大写或小写字母开头,接着是一个可有可无的空格,然后是三个数字结尾,这是一个有效的课程名。所以,理想状态下,每一个课程大概都是类似“CSE 101”或者“Phy 132”这样的写法。但是在实际情况下,有的时候因为人工误输入的原因,造成在字母与字母之间,可能会有,-.这几种字符的出现而且出现次数不定,位置不定。但是即使这样我们还是认为这些课程名属于有效的课程名。
本题答案提示:共有12个。
解析:
这道题我们的难点在于课程名字母间可能穿插几个特殊符号,而且次数不定。特殊符号我们可以用字符集[]来包含,次数不定可以用星号来表示可以不出现也可以出现多次。特别注意的是,连字符和点号是特殊字符,需要在它们前面使用转义字符\才能匹配它们自身,关于转义字符的使用我们会在后面的课程中详细讲解。
以下是答案:
^[a-zA-Z][\.\-,]*[a-zA-Z][\.\-,]*[a-zA-Z][ ]?\d{3}$
最后的结果:
结果:
1 CSE 1013. 信用卡归类
我们有以下的这一段源文本:
4175007282312321在这些信用卡信息中,不同的卡号代表不同的信用卡公司品牌,请完成以下任务,找出符合某个公司品牌的信用卡卡号:
(1)ALPHA公司的信用卡卡号为16位数字,都是以4026, 417500或4405开头的。
(2)BETA公司的信用卡卡号为16位数字,卡号开头数字范围为500-549。
(3)GAMMA公司的信用卡卡号为16-19位数字,卡号以数字62开头。
(4)OMEGA公司的信用卡卡号为14位数字,卡号开头数字范围为300-305。
解析:
这道题的关键难点在于卡号的位数确定,所以我们位数不能定义错误。
(1)
^4026\d{12}|417500\d{10}|4405\d{12}$
最后的结果:
4175007282312321
(2)
^5[0-4]\d{14}$
最后的结果:
5025007282312321
(3)
^62\d{14,17}$
最后的结果:
62250072875454563
(4)
^30[0-5]\d{11}$
最后的结果:
30428763928172
高清源文件下载:
第10课地址:
暂未发布,请耐心等待。
喜神娃娃 发表于 2017-9-28 11:45
谢谢老师,这道题已经会了就是二题的?不太明白
欢迎光临 精易论坛 (https://125.confly.eu.org/) | Powered by Discuz! X3.4 |