正则表达式
什么是正则表达式?
正则表达式RegExp(Regular Expression):匹配 特殊字符或有特殊搭配原则的字符 的最佳选择,也就是说他是属于字符串的相关操作。
首先我们要知道:
-
转义字符\,在反斜杠\后边放的紧挨着得字符被强制转化成文本
eg: \" 实现在双引号里再放双引号 \r 行结束符,即回车 \t 制表符,键盘得tab键
-
多行字符串
eg: \ 还可以转义回车(换行)符号,实现js语法上的多行字符串
-
换行的转义字符
eg: \n 实现换行
语法规则
1、三个属性i,g,m
修饰符 | 功能描述 |
---|---|
i | 不区分大小写的匹配 |
g | 全局匹配(查找所有匹配的,而不是在匹配第一个之后就结束) |
m | 多行匹配 |
例子说明:
i:不区分大小写的匹配
var reg=/abce/i;
var str="ABCEd";
var re = reg.test(str);
console.log(re); //true
g:全局匹配(查找所有匹配的,而不是在匹配第一个之后就结束)
var reg=/ab/;
var str="ababababab";
str.match(reg);//["ab"],只查找到第一个匹配值便返回
reg=/ab/g;
str.match(reg);//["ab","ab","ab","ab","ab"],全局查找,把所有匹配值均返回
m:多行匹配
var reg = /a/;
str = "abcde\na";
var re1=str.match(reg);
console.log(re1); //["a"],还没有多行匹配属性
reg = /^a/gm; //全局多行匹配
var re2 = str.match(reg);
console.log(re2); //["a","a"]
2、创建方式
正则表达式有两种创建方式:
直接量和构造方法RegExp( )
-
直接量
本身是一个对象,是一种规则
-
在两个斜杠中间写规则。
var reg=/abc/; var str="abcd"; reg.test(str) ; //test,检查在字符串str中有没有符合reg规则得字符
-
在正则表达式得双斜杠后边还可以加字母i、g、m,表达其属性。
-