正则表达式(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} | 任何空白字符 |