1.正则表达式的创建
1.字面量创建
var reg1 = /abc/g //在//里面的是所要筛选的内容 g是全局匹配
2.用new构造函数创建 RegExp()
var reg2 = new RegExp('abcd','ig')
//第一个参数是 筛选的内容 第二个参数是 i: ingore不区分大小写;g 全局变量
2.正则表达式的部分语法
1. [0-9] [] 代表的是范围, 0-9 数字范围 ,a-z小写字母 ,A-Z大写字母
2. 2.1? 表示0个或者1个
2.2+ 表示1个或者是多个
2.3* 表示0个或者是多个
//match()匹配 是字符串的API 所以不能用正则表达式对象调用
var reg = /abc[0-9]?/ // 表示0或者1
// var str = 'abc1' //满足
var str = 'abc12'
var arr = str.match(reg) //返回的是满足正则表达式的数组对象
console.log(arr);
var reg1 = /abc[0-9]+/ // 表示一个或者多个
var str = 'abc12'
var str = 'abc'
var arr = str.match(reg1) //如果是匹配的字符串是abc 返回值 null
// 当在匹配的时候没有找到满足正则表达式返回null
console.log(arr);
var reg2 = /abc[0-9]*/
var str2 = 'abc1'
var str3 = 'abc'
console.log(str2.match(reg2))
console.log(str3.match(reg2))
3. //代表包含 ^代表以什么开头 /^a/ 以a开头
4.$ 以什么结尾
5. ^a$ 可以判断是不是a
console.log(/^a$/.test('aa')); //false
console.log(/^a$/.test('a')); //true
6. \w 匹配的是字母、数字、下划线
\W 除了字母、数字、下划线、也就是\w的相反
console.log(/\w/.test('a')) //t
console.log(/\w/.test('234')) //t
console.log(/\w/.test('?')) //f
console.log(/\W/.test('?')) //t
7. {2,6}代表长度
8. | 表示 或者
() 代表一个整体
3.正则表达式的Api
1.test()
var string = 'abcddd'
console.log(reg1.test(string))
//检测abcddd里面是否有符合reg1 如果符合返回true 反之则为false
console.log(reg2.test(string))
2.exec()
返回数组,数组包括匹配到的字符串在原字符串中的索引位置,原字符串
3.replace()
var str1 = 'abcddddddefcdabccd'
str1 = str1.replace('cd','AA')
console.log(str1) // abAAdddddefcdabccd 只更改一个
str1 = str1.replace(/d/g,'a')
console.log(str1) //abAAaaaaaefcaabcca //全局的d 全改成a
4.search()
var str4 = '换行哈哈哈哈'
var index = str4.search("哈")
console.log(index); //只寻找到第一个哈返回字符串索引