浅学正则表达式

概念:

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

应用场景:

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

相关推荐
0xDevNull2 小时前
MySQL数据冷热分离详解
后端·mysql
科技小花2 小时前
数据治理平台架构演进观察:AI原生设计如何重构企业数据管理范式
数据库·重构·架构·数据治理·ai-native·ai原生
一江寒逸2 小时前
零基础从入门到精通MySQL(中篇):进阶篇——吃透多表查询、事务核心与高级特性,搞定复杂业务SQL
数据库·sql·mysql
D4c-lovetrain2 小时前
linux个人心得22 (mysql)
数据库·mysql
阿里小阿希3 小时前
CentOS7 PostgreSQL 9.2 升级到 15 完整教程
数据库·postgresql
荒川之神3 小时前
Oracle 数据仓库雪花模型设计(完整实战方案)
数据库·数据仓库·oracle
做个文艺程序员3 小时前
MySQL安全加固十大硬核操作
数据库·mysql·安全
不吃香菜学java3 小时前
Redis简单应用
数据库·spring boot·tomcat·maven
一个天蝎座 白勺 程序猿4 小时前
Apache IoTDB(15):IoTDB查询写回(INTO子句)深度解析——从语法到实战的ETL全链路指南
数据库·apache·etl·iotdb
不知名的老吴4 小时前
Redis的延迟瓶颈:TCP栈开销无法避免
数据库·redis·缓存