在实际开发中,经常需要对字符串进行一些复杂的匹配,查找,替换等操作,通过正则表达式可以方便实现字符串复杂的操作。正则表达式是一串特定的字符组成的一个规则字符串。
正则表达式字符集
| 字符集 | 字符集描述 |
|---|---|
| [abc] | a,b,c 中任意一个字符 |
| [^abc] | 除了 a,b,c 之外的任意字符 |
| [a-z] | 表示 a,b,c…z 中的任意一个字符 |
| [a-z]+ | 表示由一个或多个 a,b,c…z 字符组成的字符串 |
| [0-9] | 表示 0 到 9 中间任意一个数字 |
| [a-zA-Z0-9] | a-z,A-Z,0-9 中任意一个字符 |
## 预定义字符集 ##
| 预定义字符集 | 预定义字符集描述 |
|---|---|
| \d | 任意一个数字字符,相当于[0-9] |
| \w | 单词字符,相当于[a-zA-Z0-9] |
| \s | 空白字符 |
| \D | 非数字字符 |
| \W | 非单词字符 |
| \S | 非空白字符 |
| . | 任意一个字符 |
## 数量词 ##
| 数量词 | 数量词描述 |
|---|---|
| ? | 0 个到 1 个 |
| * | 0 个到任意个 |
| + | 大于等于一个 |
| {n} | n 个 |
| {n,} | 大于等于 n 个 |
| {n,m} | n 到 m 个 |
## 标识 ##
| 数量词 | 数量词描述 |
|---|---|
| ^ | 代表字符开始 |
| $ | 代表字符结束 |
| () | 代表分组,一系列正则表达式一个整体 |
| 丨 | 分组时可以用“丨”代表“或”的关系 |
示例:
邮政编码:6 位数字
^[0-9][0-9][0-9][0-9][0-9][0-9]$
^\d\d\d\d\d\d\d$
^\d{6}$
电话号码:三种格式
- 12345678910
- 0086 12345678910
- +86 12345678910
^(+86|0086)?\s?\d{11}$
电子邮箱:Bao_456@163.com
^[a-zA-Z0-9_]+@[a-zA-Z0-9_]+(.[a-zA-Z]+)+$
## [在程序中使用正则表达式](/2017/03/14/深入了解 String/#根据正则表达式操作字符串的方法)
[传送门:根据正则表达式操作字符串](/2017/03/14/深入了解 String/#根据正则表达式操作字符串的方法)
