1-8的练习题

1-8的练习题

1-8的联系题里面让选择可以匹配"www"的正则表达式,但是选项里面个人感觉w*、w+、w{3}、[a-z]{3}都可以对"www"进行匹配,用测试工具测试结果也是一样,为什么只能从里面选择两个

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕酷酷 2019-11-16 12:53:45

同学你好,可以这样理解,*表示匹配表达式零次或多次。“w*”匹配的是0个或多个“w”,表达式从前向后匹配,“fghijkwwwkdfjsdkv”中w前面的表达式有6个,为:fghijk,会匹配6个为空,“www”匹配1次,匹配表达式0次再加1次,w后面的表达式有8个,“kdfjsdkv”,会匹配8个为空,所以:6+1+1+8=16次匹配。

同学这里可以尝试使用替换的方式,进行测试一下。k与k之间分别是匹配“www”匹配1次,和匹配表达式0次再加1次。

如:

http://img1.sycdn.imooc.com//climg/5dcf803709c1163706880722.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 我不太明白的点就在于““www”匹配1次,匹配表达式0次再加1次”中为什么已经有了三个w还要对0次w记一次数?
    2019-11-16 22:40:12
  • 同学,当正则匹配到三个时记为1次,继续往后匹配发现没有时也会记0,如果同学不是很理解,可以把它当做正则的规则来记忆。祝学习愉快~
    2019-11-17 11:28:15
芝芝兰兰 2019-05-10 11:35:13

同学你好。“w*”匹配的是0个或多个“w”,所以不仅会匹配到“www”,还会有其他“0个w”被匹配

比如我下面随意输入了一串字符,含有三个w,使用“w*”匹配到了16条信息:

http://img1.sycdn.imooc.com//climg/5cd4f0490001532007060592.jpg

使用“w+”:

http://img1.sycdn.imooc.com//climg/5cd4f0be0001148f07370564.jpg

使用“w{3}”:

http://img1.sycdn.imooc.com//climg/5cd4f0f70001224406840534.jpg

使用“[a-z]{3}”也是同理,会匹配到别的连续三个字母的项:

http://img1.sycdn.imooc.com//climg/5cd4f11a0001157607010554.jpg

非常抱歉给同学带来了不好的学习体验。这个题目的解析没有提及这一点导致了同学的误解。

感谢同学对我们课程的支持,我们已经将解析的描述又修改了。请同学再看一下~

如果解答了同学的疑问,望采纳~

祝学习愉快~


  • 这里真心求问例子中使用“w*”是如何匹配到16条信息的?
    2019-11-16 02:07:48
  • 同学你好,老师在上面回复了同学的问题,可以查看一下。祝学习愉快!
    2019-11-16 12:55:25
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师