AI会就行了,我还要学正则表达式干嘛?
现在 AI 都那么强大了我还为什么需要去学习正则表达式这个烦人的东西呢?
问 AI:打开浏览器 -> 输入 chat.xxx.com -> 登录 -> 输入问题 ->得到答案
靠自己 🧠: 输入问题 -> 得到答案
简单明了可以看出来对于一些简单的东西如果掌握了,会大大减少得到问题答案的 ⏱
下面说明的表达式是运行在 javascript 环境下的
正则表达式只能处理字符串,懂了没,字符串!!!
推荐使用 vscode 插件,可以在线测试正则表达式的匹配字符串
编写
1 | //=>字面量创建方式(两个斜杠之间包起来的,都是用来描述规则的元字符) |
组成
量词元字符
设置字符出现的次数
| 符号 | 含义 |
|---|---|
| * | 任意次(包括 0 次) |
| + | 至少出现一次 |
| ? | 0 次或 1 次 |
| {n} | 出现 n 次 |
| {n,} | 至少出现 n 次 |
| {n,m} | 出现了 n~m 次 |
特殊元字符
单个或者组合再一起代表特殊的含义
| 符号 | 说明 |
|---|---|
| \ | 转义字符 |
| . | 除了 \n(换行符) 以外的任意字符 |
| ^ | 以哪个元字符作为开始 |
| $ | 以哪个元字符作为结束 |
| \n | 换行符 |
| \d | 0~9 之间的一个数字 |
| \D | 非 0~9 之间的一个数字(大小写意思是相反) |
| \w | 数字、字母、下划线中的任意一个字符 |
| \s | 一个空白字符(包含空格、制表符、换页符等) |
| \t | 一个制表符(TAB 键:4 个字符) |
| \b | 匹配一个单词的边界 |
| x|y | x 或者 y 其中一个字符 |
| [xyz] | x、y、z 其中一个字符 |
| [^xy] | 除了 x 和 y 以外的任意字符 |
| [a-z] | 指定 a~z 这个范围中的任意字符 [0-9a-zA-Z_]===\w |
| [^a-z] | 上一个的取反 “非” |
| () | 分组符号 有点像作用域 |
| (?:) | 只匹配不捕获 |
| (?=) | 正向预查 |
| (?!) | 逆向预查 |
普通元字符
代表本身含义的,就是跟字符串一样的作用
\snailuu\ 匹配的就是 "snailuu"
修饰符
| 符号 | 含义 |
|---|---|
| i -> ignoreCase | 忽略字符大小写 |
| m -> multiline | 多行匹配 |
| g -> global | 全局匹配 |
常见/遇到的正则表达
有效数字
1 | /* |
密码
由数字+字母+下划线组成
1 | /** |
邮箱
1 | /** |
评论
匿名评论
你无需删除空行,直接评论以获取最佳展示效果






![Vue笔记[二]-路由篇](https://api.snailuu.cn/background/2022091731.jpg)
