问题描述:视频中第三问,老师的答案是:
var rep = /^www\.\w+\.com(\.cn)?$/;
那么,可不可以把括号用在方括号中:
var rep = /^www\.\w+[(\.com)(\.com.cn)]$/;
登陆购买课程后可参与讨论,去登陆吧
同学你好,不可以在方括号中[]使用括号(),因为写在方括号中的括号不再表示可以整体匹配了,而是当做要匹配的字符( 和 ),示例:
所以同学的这种写法也无法完成匹配,示例:
建议同学参考视频中讲解正则方式验证是否符合网址规则
祝学习愉快~
你好,我在2-24视频9:30中看到老师这样举例,他说135开头或者136开头可以这样写,[135|136],请问这样是否验证135或136?按照慕慕子老师的说法:是否是匹配1,3,5,1,3,6?如果视频中是对的话,那我一开始问的问题可否这样写:[\.com|\.com\.cn]
同学你好,对于你的问题解答如下:
1、视频中讲师这里是举例有的可能会验证手机号是不是以135或者136等某些数字开头,简单的写了下伪代码,不是特别的严谨,例如:[135|136]这种写法,如果不指定匹配的位数,那么只会匹配一个字符,即1、3、5、6、| 这些字符中的其中一位字符。如下:
2、结合上述分析可知, [\.com|\.com\.cn]这种写法如果不指定匹配的位数,那么也只会匹配一个字符,即:. 、c、o、m、|、n 这几个字符中的一个,如下:
添加指定的位数后,确实可以实现匹配.com或者.com.cn的效果,如下:
但是这种写法匹配规则并不严谨,表示的是匹配. 、c、o、m、|、n 这几个字符中任意的至少四个字符,也就是说,不是.com或者.com.cn,只要满足是这几个字符中任意组合四位及四位以上都可以被匹配到。示例:
经过上述几个代码测试及结果可知,[] 用来匹配里面所有符合条件的字符,无法匹配指定的连续多个字符,所以[\.com|\.com\.cn]这种写法无法实现这里的需要匹配效果,推荐同学参考视频的方式实现。
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
登录后可查看更多问答,登录/注册
前端技术快速更迭,人才紧缺。带你从0基础开始,成为Web全栈工程师,转行就业更顺畅。
92 2
44 2
74 4
30 1
32 1
在线咨询
领取优惠
免费试听
领取大纲
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星