\w+和[\w]+的区别?什么时候需要些首尾匹配?

来源:4-5 email邮箱

盛大人

2020-07-07 15:23:39

1、\w+和[\w]+的区别?

如下图所示,input失去焦点时,我想验证input里输入的内容是否是6-12位的字母、数字或下划线所组成。我写了2种正则规则pattern1、pattern2,2种输出结果似乎一直一样,这2种写法是等价的吗?

无论怎么修改input里的内容,result1始终和result2一样,是不是这2种写法都可以?

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

2、什么时候需要些首尾匹配?

还是上图的代码,我发现输入超过12位,输出结果居然还是true,然后我加了首尾匹配后(下图所示),就是false了。什么时候需要加首尾匹配?

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

写回答

1回答

好帮手慕夭夭

2020-07-07

同学你好,问题解答如下:

  1. 没错,它们两个是一样的。使用哪一个都行。

  2. 需要限定位数或者限定首尾内容的使用就需要使用。如果不加首尾匹配,那么只要内容中包含符合正则的内容,能匹配到即可。举一个简单的例子,正则/aaa/匹配三个a,输入bbbaaa,其中能够匹配到aaa,就会返回true。如果改成/$aaa^/,就必须是三个a。

    还有一种情况是规定首尾内容,例如规定开头必须是字母,必须是数字等,这样的就需要加$。要求结尾必须是什么,就要加^。如果全部要求,就把$和^都加上。

如果我的回答帮到了你,欢迎采纳,祝学习愉快~



1

0 学习 · 14456 问题

查看课程