请老师看下对不对,还有个问题问下。

来源:2-17 编程练习

慕仙7313728

2022-06-14 22:30:05

var str = 'JavaScript_RegExp_5@gmail.com';//_RegExp_5@gm
        var reg1=/\w[A-za-z]{6}\w\d{1}\@[A-Za-z]{2}/;
        var reg2=new RegExp('\\w[A-za-z]{6}\\w\\d{1}\\@[gm]{2}');
        var result1=reg1.test(str);
        var result2=reg2.test(str);
        var result3=reg1.exec(str)[0];
        var result4=reg2.exec(str)[0]
        function RegExpFun(r){
            this.r=r;
        }
        RegExpFun.prototype.ZZBDS=function(){
            var reg3=/\w[A-za-z]{6}\w\d{1}\@[A-Za-z]{2}/;
            var reg4=new RegExp('\\w[A-za-z]{6}\\w\\d{1}\\@[gm]{2}');
            var result=result1+'/'+result2+'/'+reg3.test(this.r)+'/'+reg4.test(this.r)+'/'
            +reg3.exec(this.r)[0]+'/'+reg4.exec(this.r)[0]+'/'+result3+'/'+result4
            return result
        }
        var result5=new RegExpFun(str)
        console.log(result5.ZZBDS())

麻烦老师看下,请问老师,如果我不写this.r=r,然后在方法中直接传入str怎么也可以传入??

写回答

1回答

好帮手慕星星

2022-06-15

同学你好,代码输出结果没问题。

针对提问回复:str是全局变量,所以即使不传入,在函数中也可以使用。

另外本题的意思是new RegExp()就是构造函数方式定义正则,在配合修饰符i,不需要写函数再实例化。参考:

https://img.mukewang.com/climg/62a93be10980c19911830411.jpg

祝学习愉快!

0

0 学习 · 17877 问题

查看课程