浅学正则表达式

概念:

正则表达式在程序中代表一种规则,它是一种符号语言,需要理解每一个符号表示的含义。

应用场景:

1.表单验证

2.网页信息敏感词替换

3.字符串中提取我们想要的部分

......

使用:

网址:"https://www.runoob.com/regexp/regexp-tutorial.html"

步骤:

1.定义正则:let 正则变量 = /正则要求/,//不可加引号

2.通过正则验证内容

a.正则变量.test('要被验证的内容');返回值为布尔值,true表示符合规则,false表示不符合规则

b.正则变量.exec('要被验证的内容');返回为null表示不符合规则,返回数组表示符合规则

元字符:

在正则表达式中具有特殊含义的符号(字符)

元字符分类:

边界符:

^:表示开始,以什么开始

$:表示结束,以什么结束

他们同时使用时表示精确匹配,表示当前内容,不能有其它值

量词符:

+:表示出现的次数一次或者更多次(至少出现一次)

?:表示出现的次数0次或者1次(最多1次)

*:表示出现的次数0次或多次(若干次)

{n}:表示出现的次数等于n次

{n,}:表示至少出现n次

{n,m}:表示出现n到m次

复制代码
let reg = /^ab{2}$///精确匹配,abb开头结束
let str = 'abb'
let str1 = 'aabb'
let str2 = 'abab'
console.log(reg.test(str))//true
console.log(reg.test(str1))//false
console.log(reg.test(str2))//false

字符类:

字符集:

\]:表示的含义内容中只要包含其中一个值即可 \[值-值\]:表示的含义内容中包含从某个值到某个值范围内的值即可 \[\^值\]:\[\]里面的\^表示取反 .:/./匹配除换行符之外的任何单个字符,在字符串中,如果要表示换行通过换行符实现、\\r\\n let reg = /[abc]///匹配abc中的任何单个字符 let reg1 = /[a-z]///匹配26个小写英文子母其中的任何单个字符,-表示一个范围,从某个值到某个值的范围内 let reg2 = /[a-zA-Z]///匹配大小写字母都可以 let reg3 = /[^a-z]///匹配除了26个小写英文子母之外的其它任何单个字符,^取反符号([]中括号内) let reg4 = /^[1-9][0-9]{4,}$///匹配从10000开始的所有数字 let reg5 = /^[a-zA-Z0-9_]{6,16}$///匹配6-16位英文数字下划线的内容 #### 预定义类: 指某些常见模式的简写方式,大写和小写是完全相反 ![](https://file.jishuzhan.net/article/1740279123525242881/f73b93b05484e349477cd1c6a244f1f8.webp) ## 字符串替换 ### 修饰符: 修饰符约束正则执行的某些细节行为,如是否区分大小写、是否支持多行匹配等 语法:/表达式/修饰符 i是单词ignore的缩写,正则匹配时字母不区分大小写 g是单词global的缩写,匹配所有满足正则表达式的结果 let str = 'abbcabb' let reg6 = /a/g let reg7 = /a/i ![](https://file.jishuzhan.net/article/1740279123525242881/d80b34c4fa6bb4fba11760e9fe21d0a6.webp) ### replace替换 语法:字符串.replace(/正则表达式/,'替换的文本') let str = 'abbcabb' let reg = /sb|激情/g //|表示或者的意思,就是多类替换 console.log(str.replace(reg, '**'));//abb**cab**b

相关推荐
一只大袋鼠14 分钟前
Redis 安装+基于短信验证码登录功能的完整实现
java·开发语言·数据库·redis·缓存·学习笔记
Anastasiozzzz15 分钟前
深入研究Redis的ZSet底层数据结构:从 Ziplist 的级联更新到 Listpack 的完美救场
数据结构·数据库·redis
菠萝蚊鸭18 分钟前
x86 平台使用 buildx 基于源码构建 MySQL Wsrep 5.7.44 镜像
数据库·mysql·galera·wsrep
沙漏无语3 小时前
(二)TIDB搭建正式集群
linux·数据库·tidb
姚不倒3 小时前
三节点 TiDB 集群部署与负载均衡搭建实战
运维·数据库·分布式·负载均衡·tidb
隔壁小邓3 小时前
批量更新方式与对比
数据库
数据知道3 小时前
MongoDB复制集架构原理:Primary、Secondary 与 Arbiter 的角色分工
数据库·mongodb·架构
人道领域3 小时前
苍穹外卖:菜品新增功能全流程解析
数据库·后端·状态模式
修行者Java3 小时前
(七)从 “非结构化数据难存储” 到 “MongoDB 灵活赋能”——MongoDB 实战进阶指南
数据库·mongodb