ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] >[success] # 正则表达式 在之前工作中用到 **正则表达式** ,我们都是通过 **百度去搜索** ,但是工作中还是有一些与 **业务逻辑相关的判断** 在百度上搜不到,这种情况就需要我们自己去写,所以接下来我们要学习一下 **正则表达式** ,具体我们会分为 **3** 个步骤来学习,如下图: ![](https://img.kancloud.cn/4f/d0/4fd0048d6c57423714ed28f4868c9f52_928x554.png) 我们要从基础学起,下面推荐几个 **网站** : 1. [正则在线测试网站](https://regexr-cn.com/) 2. [正则练习网址](https://www.codejiaonang.com/) >[success] ## 案例1 ~~~ <table> <tr> hello world 18111234589 </tr> <tr> <span>name:张三,tel:18711001111</span> </tr> </table> ~~~ 接下来,我们要使用 **正则表达式** 来提取上面代码的内容,实现以下目标 : 1. **提取字符串 <span\> 中的内容** 2. **提取其中的手机号** >[success] # 常用正则 **多种匹配模式** | 实例 | 描述 | | --- | --- | | `[Pp]ython` | 匹配 “Python” 或 “python”。 | | `rub[ye]` | 匹配 “ruby” 或 “rube”。 | | `[abcdef]` | 匹配中括号内的任意一个字母。 | | `[0-9]` | 匹配任何数字。类似于 \[0123456789\]。 | | `[a-z]` | 匹配任何小写字母。 | | `[A-Z]` | 匹配任何大写字母。 | | `[a-zA-Z0-9]` | 匹配任何字母及数字。 | | `[^au]` | 除了au字母以外的所有字符。 | | `[^0-9]` | 匹配除了数字外的字符。 | | `.` | 匹配除 “\\n” 之外的任何单个字符。要匹配包括 ‘\\n’ 在内的任何字符,请使用象 ‘\[.\\n\]’ 的模式。 | | `?` | 匹配一个字符零次或一次,另一个作用是非贪婪模式 | | `+` | 匹配1次或多次 | | `*` | 匹配0次或多次 | | `\b` | 匹配一个长度为`0`的子串 | | `\d` | 匹配一个数字字符。等价于 \[0-9\]。 | | `\D` | 匹配一个非数字字符。等价于 \[^0-9\]。 | | `\s` | 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 \[ \\f\\n\\r\\t\\v\]。 | | `\S` | 匹配任何非空白字符。等价于 \[^ \\f\\n\\r\\t\\v\]。 | | `\w` | 匹配包括下划线的任何单词字符。等价于’\[A-Za-z0-9\_\]’。 | | `\W` | 匹配任何非单词字符。等价于 ‘\[^A-Za-z0-9\_\]‘。 |