在实际开发中,经常需要对字符串进行一些复杂的匹配,查找,替换等操作,通过正则表达式可以方便实现字符串复杂的操作。正则表达式是一串特定的字符组成的一个规则字符串。
正则表达式字符集
字符集 | 字符集描述 |
---|---|
[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/#根据正则表达式操作字符串的方法)