今天在我的同学的学校给写一篇博客,望在不同的环境有着不一样的理解吧。
正则表达式
在正式接触正则的时候,我们先要了解一下转义字符这个问题,"\"这就是转义字符。当然,在我们正则中起着很重要的作用。
接下来给说一下这个作用吧,当我们想去打印一个""(双引号)的时候,按照正常情况下,这是一个语法解析是不可能打印出来的。但是有了转义符,这个问题就能解决了。
var str = '\"\"';
console.log(str);// ""
\" 会让js引擎识别成" ,所以最后就能把双引号给打印出来了。
每一个转义符后面都会有着不同的含义的:
\n 代表字符串和换行
\r 代表字符串的回车
\t 代表制表符tab
正则表达式的作用正则表达式是用来匹配一些有要求的一些字符串,例如密码的匹配,还有自己需要什么要求的字符串,都可以匹配出来的。平常用户来输入数据的时候,不能什么样的数据都要啊。
正则表达式(RegExp)的创建方式:
1.直接量
这也是最常用的方式,因为比较方便又能表达出正则的意思。var reg = /abc/;
2.构造函数
这是利用构造函数定义一个正则对象,其效果是差不多的。var reg = new RegExp('abc');
虽然这俩个结果都打印的是/abc/,并且都是对象的形式的,但是这两个是不相等的。构造函数需要两个\,才能将其转化的。而直接定义的,只需要一个就行了。这也是经常用直接量的那一个了。修饰符
一个正则表达式有三个描述的属性g、i、m,表示三种特定的修饰功能。
var reg = /abc/igm;
在构造函数,就必须以一个参量的形式给输入了。var reg = new RegExp('abc','igm');
正则表达式上面有一个方法test(),可以测试一个字符串符不符合这个匹配规则。
var reg = /abc/g; console.log(reg.test('abcabc')); // true
1.i (ignore) 可以忽略大小写。
2.g (global) 全局匹配。
3.m (multiline)多行匹配
那么就用实践来说明一下这3个属性的含义吧:
var reg = /abc/; var str = 'abcabcabc'; console.log(str.match(reg)); // ["abc", index: 0, input: "abcabcabc"]
var reg = /abc/g; var str = 'abcabcabc'; console.log(str.match(reg)); // ["abc", "abc", "abc"]
通过这三种方式基本上就把这一个正常的匹配给完成了,无论现在是什么样的形式,全局、忽略大小写、匹配多行。这样就全都能给覆盖到了,接下来,就学习到底是匹配什么的了。var reg = /^e/igm; var str = "abc\nebcd"; console.log(str.match(reg));