老师,帮忙回答以下
来源:3-36 RegExp对象的实例方法(1)
慕盖茨9092533
2019-11-27 14:48:10
问题1,正则匹配字符串的时候有两种方法,第一个用字面量的方法,,比如/js/,第二个用构造函数new RegExp(),上网查了一下,说是等号右边的值是字面量,那么var pattern = new RegExp(),构造函数算不算字面量?如果算得话区分两种方法不久没意义了吗?然后什么是字面量呢?字面量有好几种,字符串、数组、函数等,var pattern = /js/属于哪种字面量?
问题2,
// var str = '\\';
// // var pattern = /\\/;
// var pattern = new RegExp('\\\\');
// console.log(pattern.exec(str));
为什么str里面必须写两个斜杠,pattern代表的正则里面需要转义,为什么被匹配的字符串也不能只写一个\,如果我就想表示匹配str='\'里的一个字符串怎么表示?str = '\\'表示的是两个斜杠还是一个?
1回答
同学你好,关于同学的疑问,解答如下:
1、在讲正则的初期老师就讲解过,创建正则表达式有两种方式。一种是字面量,另一种是使用构造函数的方式。链接:https://class.imooc.com/lesson/508#mid=11960。在本小节老师也提到过,
构造函数不是字面量。var pattern = /js/就是一个正则表达式,同学不用区分这么细致,大体了解一下就可以了
2、var str = '\\';是匹配一个反斜杠,如果这样写var str = '\';是会报错的。报错如下:
提示是无效或意外的标记,这个比较特殊,同学记住就可以了。
如果我的回答帮到了你,欢迎采纳,祝学习愉快~
相似问题