正则表达式(Regular Expression,简称regex或regexp)是一种强大的文本处理工具,用于匹配、查找、替换等操作
1.字符匹配
| 字符 | 描述 |
|---|
| . | 匹配任意单个字符(不包括换行符) |
| \d | 匹配任何数字,等价于[0-9] |
| \D | 匹配任何非数字字符 |
| \w | 匹配任何字母、数字或下划线,等价于[a-zA-Z0-9_] |
| \W | 匹配任何非字母、数字、下划线的字符 |
| \s | 匹配任何空白字符,包括空格、制表符、换页符等 |
| \S | 匹配任何非空白字符 |
2.量词
| 字符 | 描述 |
|---|
| * | 零次或多次匹配前面的元素 |
| + | 一次或多次匹配前面的元素 |
| ? | 零次或一次匹配前面的元素 |
| {n} | 精确匹配前面元素n次 |
| {n,} | 至少匹配前面元素n次 |
| {n,m} | 匹配前面元素至少n次,但不超过m次 |
3.位置匹配
| 字符 | 描述 |
|---|
| ^ | 表示字符串的开始 |
| $ | 表示字符串的结束 |
| \b | 匹配一个单词边界,即单词和空格间的位置 |
| \B | 匹配非单词边界 |
4.选择与组合
| 字符 | 描述 |
|---|
| | | 或操作符,匹配左边或右边的表达式 |
| (expr) | 分组,将expr作为一个单元处理,并可用于后向引用 |
5.特殊字符转义
| 字符 | 描述 |
|---|
| \ | 转义字符,用于取消特殊字符的特殊含义,如.匹配点号本身 |
6.字符集与排除
| 字符 | 转义 |
|---|
| [abc] | 匹配a、b或c中的任意一个字符 |
| [^abc] | 匹配除了a、b、c之外的任何字符 |
| [a-z] | 匹配a到z之间的任意小写字母 |
| [A-Z0-9] | 匹配大写字母或数字 |
7.预定义字符类
| 字符 | 转义 |
|---|
| \p{Lower} | 任何小写字母 |
| \p{Upper} | 任何大写字母 |
| \p{Digit} | 任何数字 |
| \p{Punct} | 任何标点符号 |
| \p{Space} | 任何空白字符 |