正则表达式,又称规则表达式。
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
正则表达式通常用来检索、替换那些符合某个规则的文本。
var box = new RegExp("hello", "ig");
var box=RegExp("hello","ig");
var box=/hello/ig
RegExp:可以传入2个参数
a.正则主体部分,一般情况下就是字符串
b.修饰符(没有先后顺序)
i 忽略大小写
g 全局匹配
m 换行匹配
格式:正则.test(字符串)
功能:在字符串匹配中匹配正则是否存在
返回值:如果存在返回true
如果不存在返回false
var str="how are you";
var reg=/are/i;
console.log(reg.test(str)); //true
格式:正则.exec(字符串)
功能:在字符串中匹配正则是否存在
返回值:如果存在返回一个数组,数组里面存放着匹配的内容
如果不存在,返回null
var str="how Are you";
var reg=/are/i;
console.log(reg.exec(str)); //Are
console.log(reg.exec(str).length); //1
格式:字符串.match(正则)
功能:在字符串中匹配这个正则是否存在
返回值:如果存在,返回一个数组,数组放着,匹配到的子串
如果不存在,返回null
var str = "how are Are ARE you";
var box = /arex/ig;
alert(str.match(box)); //are,Are,ARE
格式:字符串.search(正则)
功能:在字符串中,查找正则表达式,第一次出现的位置
返回值:如果查找到,返回查找到的下标
如果查找不到,返回-1
var str = "how ARE are you";
var box = /are/i;
alert(str.search(box)); //4
格式:字符串.replace(正则,newstr)
功能:在字符串中找到正则,并且将他替换成新字符串
返回值:替换成新的字符串
var str = "how are Are ARE you";
var box = /are/ig;
var newStr = str.replace(box, "two");
alert(newStr); //how two two two you
格式:字符串.split(正则)
功能:使用正则对字符串进行字符串的分割
返回值:分割完的子串组成的数组
var str = "how are Are ARE you";
var box = /are/i;
var arr = str.split(box);
alert(arr); //how , , , you
【概念】在正则表达式中有特殊含义的字符。
. 匹配单个任意字符
[范围] 匹配单个范围内的字符
[0-9] 匹配单个的数字字符
[a-zA-Z0-9_]匹配单个数字,字母,或者下划线字符
[^范围] 匹配单个除范围内的字符
\d 等价于[0-9] 匹配单个数字字符
\D 等价于[^0-9]匹配单个的非数字字符
\w 等价于[a-zA-Z0-9_] 匹配单个数字、字母或者下划线字符
\W 等价于[^a-zA-Z0-9_] 匹配非单个数字、字母或者下划线字符
\s 匹配任意的空白字符 空格,回车,换行,tab键
\S 匹配任意的非空白字符
必须用在正则表达式的开头和结尾
^ 行首匹配
$ 行尾匹配
x 代表任意的单个字符或者任意的单个元字符
x+ 至少匹配一个x字符
x? 匹配0个或者1个x字符
x* 匹配任意个x字符
x{m,n} 匹配至少m个,至多n个x字符
x{n} 匹配n个x字符
(xyz) 凡是小括号括起来的多个字符,当做一个字符处理
| 替代字符
var str = "bins";
var reg = /google|baidu|bing/;
alert(box.test(str)); //false
5.替代字符
| 替代字符
var str = "bins";
var reg = /google|baidu|bing/;
alert(box.test(str)); //false
遇到换行字符,自动重新计算行首