JS

目录2_正则表达式 3_正则表达式的常用规则 4_案例
1.1_认识
主要提供了一种机制,可以让浏览器提供一种比更直观的key、value存储方式:
1.和的区别
和看起来非常的相似 。
它们的区别?
1.常见的方法和属性
【JS】.:只读属性 。返回一个整数,表示存储在对象中的数据项数量;
方法:
2_正则表达式 2.1_概念
维基百科的解释:
简单概况:正则表达式是一种字符串匹配利器,可以帮助搜索、获取、替代字符串;
在中,正则表达式使用类来创建,也有对应的字面量的方式,正则表达式主要由两部分组成:模式()和修饰符(flags)
2.2_修饰符flag的使用
常见修饰符
flag含义
全部的,给我匹配全部的
忽略大小写
多行匹配
创建正则demo
// 创建正则// 1> 前者 。匹配的规则pattern// 2> 后置 。匹配的修饰符flags// "abc"是可自己设置的字符串,"ig"表示修饰符,"i"是忽略大小写,"g"表示全部匹配// 写法一const re1 = new RegExp("abc", "ig")// 写法二const re2 = /abc/ig const message = "fdabc123 faBC323 dfABC222 A2324aaBc"// 需求: 将所有的abc(忽略大小写)换成cba// 方法一// const newMessage = message.replaceAll("abc", "cba")// console.log(newMessage)// 方法二const newMessage = message.replaceAll(/abc/ig, "cba")console.log(newMessage)// 需求: 将字符串中数字全部删除const newMessage2 = message.replaceAll(/\d+/ig, "")console.log(newMessage2)
2.3_正则表达式的使用方法
中的正则表达式被用于的 exec 和 test 方法,也包括的 match、、、 和 split 方法;
方法描述
exec
一个在字符串中执行查找匹配的方法,它返回一个数组(未匹配到则返回 null) 。
test
一个在字符串中测试是否匹配的方法,它返回 true 或 false 。
match
一个在字符串中执行查找匹配的方法,匹配成功,它返回一个数组,且匹配到的内容放进数组;在未匹配到时会返回 null 。
一个在字符串中执行查找所有匹配的方法,它返回一个迭代器() 。
一个在字符串中测试匹配的方法,它返回匹配到的位置索引,或者在失败时返回-1 。
一个在字符串中执行查找匹配的方法,并且使用替换字符串替换掉匹配到的子字符串 。
split
一个使用正则表达式或者一个固定字符串分隔一个字符串,并将分隔后的子字符串存储到数组中
// 创建正则const re1 = /abc/igconst message = "fdabc123 faBC323 dfABC222 A2324aaBc"// 使用正则对象上的实例方法// test方法: 检测某一个字符串是否符合正则的规则if (re1.test(message)) {console.log("message符合规则")//message符合规则} else {console.log("message不符合规则")}// exec方法: 使用正则执行一个字符串const res1 = re1.exec(message)console.log(res1) //['abc', index: 2, input: 'fdabc123 faBC323 dfABC222 A2324aaBc', groups: undefined]// 表示"abc"在字符串变量message中存在于索引2的位置// 使用字符串的方法, 传入一个正则表达式// match方法:const result2 = message.match(re1)console.log(result2)//(4) ['abc', 'aBC', 'ABC', 'aBc']// 在字符串变量message中,按照re1的正则规则,找到符合规则的内容,并汇总在数组中// matchAll方法// 注意: matchAll传入的正则修饰符必须加gconst result3 = message.matchAll(re1)// console.log(result3.next())//找到符合该正则规则的内容后,以迭代器的格式逐个输出// console.log(result3.next())// console.log(result3.next())// console.log(result3.next())for (const item of result3) { //用foe of遍历返回的迭代器内容console.log(item)}//replace/replaceAll方法之前的代码已经演示过了// split方法把符合正则表达式的地方,作为间隔,并存储到数组中// const result4 = message.split(re1)// console.log(result4)//(5) ['fd', '123 f', '323 df', '222 A2324a', '']// search方法const result5 = message.search(re1)console.log(result5)//返回找到符合规则的第一个索引位置