# 正则表达式，较为难

本质来说就是一个字符串，用来指定一些规则校验字符串

1. **字符类(默认匹配一个字符)：**

   [] 表示单个字符

   [abc] 只能为abc.

   [^abc] 只能为abc之外的任意字符

   [a-zA-Z]a到z，A到Z（包括范围）也可以有数字

   [a-d[m-p]]a到d之间，或者m-p之间都可以，并集

   [a-z&&[def]] a-z和def之间的交集

   [a-z&&[\^bc]] \需要去掉 表示a-z除了bc

2. **预定义字符类(默认匹配一个字符):**   **注意：使用时需在前面加转义字符\\**不能只有一个反斜杠

   . 任意字符

   \d 只能是数字

   \D 非数字 [\^0-9] 

   \w 英文数字下划线

   \W 除了英文数字下划线 一个非单词字符

   \s 一个空白字符

   \S 一个非空白字符

3. **量词(配合匹配多个字符)**

   X？ X出现一次或者0次

   X*  X出现0次或者多次(任意次数)

   X+ 一次或多次

   X{n} 正好n次

   X{n, } 至少n次

   X{n,m} 至少n次，不超过m次

实际干活时候，面向复制编程。直接百度搜就行

## 使用正则做爬取：

<img src="https://gitee.com/icecat2233/picture/raw/master/20250408162920380.png" alt="image-20250408162910313" style="zoom:67%;" />