第9章 正则 
创建正则表达式 
js
var str = "where when what"
//1.使用字面量创建正则表达式
var re = /wh/g;	//加上g表示全局匹配
//2.使用正则表达式对象创建
var re2 = new RegExp("wh");
//执行正则表达式
//1.exec()——返回匹配到的内容
console.log(re.exec(str));
//2.test()——返回值为boolean,是否匹配
console.log(re.test(str));	//true字符匹配 
js
var str = `This is str contains 123 
CAPITALIZED letters and _-&^% symbols`
console.log(/T/.test(str));	//true
console.log(/This/.test(str));	//true
console.log(/Thiss/.test(str));	//false
console.log(/12/.test(str));	//true
console.log(/1234/.test(str));	//false特殊字符匹配 
js
var str = `This is str contains 123 
CAPITALIZED letters and _-&^% symbols`
//str.match()用于返回匹配到的字符串
//1."."代表任意一个字符
console.log(str.match(/Th.s/g));	//['This']
console.log(str.match(/1.3/g));	//['123']
//2."\d"代表数字 "\w"代表数字、字母、下划线 "\s"代表空白字符,如"\n","\r"
//大写代表取反
console.log(str.match(/\d/g));  //['1', '2', '3']
console.log(str.match(/\w/g));匹配次数 
js
//1."*"表示匹配任意次
console.log(str.match(/This.*/g));  //['This is str contains 123 ']
//2."+"表示出现一次或多次
console.log(str.match(/t+/g));  //['t', 't', 'tt']
//3."?"表示出现0次或1次
console.log(str.match(/x?/g));
//4."{}"可以指定出现次数
console.log(str.match(/t{2}/g));    //['tt']
console.log(str.match(/\d{1,3}/g));    //['123']区间、逻辑和界定符 
js
//1."[]"出现其中一个,加上^代表非,匹配符号时用\转义
console.log(str.match(/[abc]/g));   //['c', 'a', 'a', 'b']
console.log(str.match(/[0-9]/g));   //['1', '2', '3']
console.log(str.match(/[^0-9]/g));   //匹配非数字
//2."|"代表或
console.log(str.match(/This|contains/g));   //['This', 'contains']
//3."^"在[]外的"^"代表以这个开头
var str = "this is this and that is that"
console.log(str.match(/this/g));    //['this', 'this']
console.log(str.match(/^this/g));    //['this']
//4."$"代表以这个结尾
console.log(str.match(/that/g));    //['that', 'that']
console.log(str.match(/that$/g));    //['that']
//5."\b"代表边界
var str = "athata that"
console.log(str.match(/that/g));    //['that', 'that']
console.log(str.match(/\bthat\b/g));    //['that']分组 
js
//分组用()包裹起来
var str = `this that this and that`
console.log(str.match(/(th).*(th)/));   //'this that this and th'
var str = `aaaab abb cddaa`
console.log(str.match(/(aa){2}/g)); //['aaaa']字符串替换 
js
var str = "This 1is 2an 3apple"
console.log(str.replace(/\d+/g,""));    //This is an apple
var html = `<span>hello</span><div> world</div>`
console.log(html.replace(/<[^>]*>([^<>]*)<\/[^>]*>/g,"$1"));    //hello world字符串分隔 
js
var str = "This | is ,an & apple";
console.log(str.split(/\W+/g)); //['This', 'is', 'an', 'apple']








