正则表达式
正则表达式是一种文本匹配的模式,由普通字符和特殊字符(元字符)组成,可以快速匹配、提取、替换符合指定模式的文本。
元字符的含义
字符匹配
| 字符 | 说明 |
| . | 匹配除换行符以外的任意一个字符。例如:te.t可以匹配text、test。 |
| [] | 匹配方括号内的任意一个字符。例如:[0-9]匹配单个数字。 |
| [^] | 匹配非括号内的任意一个字符。例如:[^0-9]匹配单个非数字字符。 |
| \w | 匹配字母、数字和下划线中的任意一个字符,等同于[A-Za-z0-9_]。 |
| \W | 匹配字母、数字和下划线之外的任意一个字符,等同于[^A-Za-z0-9_],与\w相反。 |
| \d | 匹配单个数字字符,等同于[0-9]。 |
| \D | 匹配数字字符之外的任意一个字符,等同于[^0-9],与\d相反。 |
| \s | 匹配空格、制表符、换行符等空白字符中的任意一个空白字符。 |
| \S | 匹配空格、制表符、换行符等空白字符之外的任意一个非空白字符,与\s相反。 |
数量匹配
| 字符 | 说明 |
| ? | 匹配前面的元素零次到一次。例如:to?可以匹配t、to,但不能匹配too。 |
| * | 匹配前面的元素零次到多次。例如:to*可以匹配t、to、too。 |
| + | 匹配前面的元素一次到多次。例如:to+可以匹配to、too,但不能匹配t。 |
| {num} | 匹配前面的元素num次。例如:to{2}可以匹配too,但不能匹配t、to。 |
| {min,} | 匹配前面的元素至少min次。例如:to{1,}可以匹配to、too,但不能匹配t。 |
| {min,max} | 匹配前面的元素min次到max次。例如:to{1,2}可以匹配to、too,但不能匹配t。 |
位置匹配
| 字符 | 说明 |
| ^ | 匹配一行的开始。例如:^the可以匹配文本行the cat is in the hat。 |
| $ | 匹配一行的结束。例如:hat$可以匹配文本行the cat is in the hat。 |
其它字符
| 字符 | 说明 |
| | | 或操作,多个元素任选其一。例如:cat|hat可以匹配cat与hat。 |
| () | 标记一个元素的开始与结束,括号内的字符作为一个元素被视为一个整体。 |