(一)正则表达式——基础概念
概括
用来处理字符串的规则。除了对象、函数,我们操作得最多的就是字符串
正则的两大作用:
- 验证是否匹配
- 把匹配到的内容捕获到

- 量词元字符

- *特殊元字符
点. :除了\r \n以外的字符

- 普通元字符

https://cdn.jsdelivr.net/gh/bobcn/hexo_resize_image.js@master/hexo_resize_image.js
修饰符
额外再多设置一点规则
总结:
基础规则:
正则是用来处理字符串的,且只能处理字符串
做两件事:
- 验证字符串是否符合这个规则
- 把符合规则的捕获到
元字符和修饰符,充分理解它们的特征和性质,才能用这些写出正则表达式,对一个字符串进行匹配和捕获。
匹配和捕获2个概念
匹配:test
捕获:exec
元字符剖析*
[]:表示字符本身的意思,除^ - \ 等以外。不能识别多位,只能是一位
():改变优先级
\:转义字符
^$
段号
必须符合某个特定规则:则都要加上 ^xxx$,表示“只能是xxx”

点号 .

反斜杠


字符串中的反斜杠

一个斜杠在字符串里不是斜杠,两个斜杠才代表斜杠

x|y

分组附带的作用:改变优先级

[]
- 代表本身的含义

- 但是有一些还是会转译
反斜杠还是保持转译的功能


- 中括号中不存在多位数
console.log(/^[12][0-9]$/.test('11'))

常用正则表达式编写*
- 是否为有效数字

- 首先是规则分析,要学会如何分析规则
- 写正则是按位写,因为正则中每个元字符占1位,加上量词元字符占对应的位数

- 验证密码

console.log(/^[-+]?([1-9]\d+|[0-9])(\.\d+)?$/.test('09'))
console.log(/^[\w]{6,16}$/.test('aaaaaaaaaaaaaaa'))
- 验证真实姓名
中文正则 \u4e00-\u9fa5

console.log(/^[-+]?([1-9]\d+|[0-9])(\.\d+)?$/.test('09'))
console.log(/^[\w]{6,16}$/.test('aaaaaaaaaaaaaaa'))
console.log(/^[\u4e00-\u9fa5]{2,10}(·[\u4e00-\u9fa5]{2,10}){0,2}$/.test('刘可琦'))
- 验证邮箱*稍微复杂点
规则分析 从结果看规则
@分为前后两半

- 验证身份证
二代身份证只有18位
最后一位可能会出现大写X

身份证正则表达式_读书,看报,零食,睡觉的博客-CSDN博客_身份证正则
两种创建方式的区别
反斜杠
通过构造函数的方式 要写2个斜杠。因为字符串中的/也有特殊的含义
let reg=/\d+/g;
reg=new RegExp('\\d+','g')
变量
变量只能用构造函数的方式,因为只有构造函数的方式参数是字符串,可通过字符串拼接的方式来嵌入变量




![[附源码]Python计算机毕业设计Django儿童早教课程管理系统论文2022](https://img-blog.csdnimg.cn/c0d3f0d9586e4a1682b774ff1c1b1709.png)




![[附源码]Python计算机毕业设计SSM科技项目在线评审系统(程序+LW)](https://img-blog.csdnimg.cn/14622f3e321642e4b8b4875bbb810cdf.png)






![[附源码]SSM计算机毕业设计疫情防控期间人员档案追寻系统设计与实现论文JAVA](https://img-blog.csdnimg.cn/69bb747af3064bb5b9be90331bb3c4f3.png)



![[附源码]Python计算机毕业设计SSM跨移动平台的新闻阅读应用(程序+LW)](https://img-blog.csdnimg.cn/07e0f53b03f1456fa16dd1a5328ba4ad.png)