为什么一定要加首尾匹配

来源:4-1 QQ号、昵称和密码_x264

JJJustin

2019-07-25 00:27:09

http://img.mukewang.com/climg/5d3886bb0001b33708360284.jpg

首尾匹配不是规定为什么开头 什么结束吗 这个昵称又没有这种规定

写回答

1回答

好帮手慕慕子

2019-07-25

同学你好, 因为正则匹配一个字符串的时候,如果不添加开始和结束的限制, 那么他会从该字符串满足正则表达的位置开始匹配。 老师这里给同学举个示例帮助同学理解

  1. 没有添加首尾匹配的情况

    (1)字符前面有特殊的字符, 但是后面满足正则也是可以被匹配到的

    http://img.mukewang.com/climg/5d391b54000182e506400144.jpg

    效果图:

    http://img.mukewang.com/climg/5d391b62000106c010070200.jpg

    (2)字符串后面有特殊字符。前面符合条件, 也是可以匹配成功的

    http://img.mukewang.com/climg/5d391b980001469105780189.jpg

    效果图:

    http://img.mukewang.com/climg/5d391baf000121d110270245.jpg

    (3)开头和结尾都有特殊字符的字符串, 也是可以被匹配到的

    http://img.mukewang.com/climg/5d391cbd0001f84205980148.jpg

    效果图

    http://img.mukewang.com/climg/5d391cc80001db2e09940221.jpg

    综上, 我们可以看出,这种不是我们匹配方式不是我们想要的方式哦

  2. 添加开始和结束的限制后, 那么就会只匹配满足条件的字符串

    (1)结尾有不符合正则匹配规则的, 那么就不会匹配该字符串

    http://img.mukewang.com/climg/5d391c1800017c3406540157.jpg

    效果图:

    http://img.mukewang.com/climg/5d391c410001c85001980051.jpg

    (2)开头有不符合正则匹配规则的字符串,也不会被匹配到

    http://img.mukewang.com/climg/5d391c670001120306570173.jpg

    效果图:

    http://img.mukewang.com/climg/5d391c75000113c901660053.jpg

    (3)开头和结尾都有不符合正则匹配规则的字符串, 也不会被匹配到

    http://img.mukewang.com/climg/5d391c9600018bb005920141.jpg

    效果图

    http://img.mukewang.com/climg/5d391ca0000175a001420055.jpg

    (4)满足正则条件的字符串才可以被匹配到

    http://img.mukewang.com/climg/5d391d1f0001cc1b06660155.jpg

    效果图:

    http://img.mukewang.com/climg/5d391d2d00019b5208200197.jpg

同学可以结合示例, 自己下去测试一下哦。结合代码实现的效果帮助自己理解哦

如果帮助到了你, 欢迎采纳!

祝学习愉快~~~~

3

0 学习 · 14456 问题

查看课程