基本字符 (单个字符)
- 不需要转义的字符
类别 | 符号 |
---|---|
大写字母 | ABCDEF...XYZ |
小写字母 | abcdef...xyz |
数字 | 0123456789 |
其他 | `~!@#%&;:'",<>/ |
- 需要进行转义的其他字符
转义方法 | 符号 |
---|---|
双反斜杠转义 『\\』 | $^*()-=+[{]}|.? |
三反斜杠转义 『\\\\』 | \ |
元字符 (单类字符)
符号 | 类别 |
---|---|
. | 除换行符外的任意字符 |
\\w | 字母、数字、下划线或汉字 |
\\s | 任意空白字符,包括换页符、换行符、回车符、制表符、空格 |
\\d | 数字 |
\\f | 换页符 |
\\n | 换行符 |
\\r | 回车符 |
\\t | 制表符 |
\\v | 垂直制表符 |
反义(元字)符
符号 | 类别 |
---|---|
\\W | 非字母、数字、下划线或汉字 |
\\S | 非空白字符 |
\\D | 非数字字符 |
^ | 非后接的字符,可同时接多个字符 |
限定字符
- 接在字符或字符表达式后以对其进行限定修饰
贪婪限定字符
- 当匹配符合多种情况时优先字符数多的情况
字符串 :"123456789"
正 则 :"^\d+"
结 果 :123456789
符号 | 意义 |
---|---|
* | 重复单字符或表达式零次以上(包括零次) |
+ | 重复单字符或表达式一次以上(包括一次) |
? | 重复单字符或表达式零或一次 |
{n} | 重复单字符或表达式n次 |
{n,} | 重复单字符或表达式n次以上(包括n次) |
{n,m} | 重复单字符或表达式n到m次 |
懒惰限定符
- 当匹配符合多种情况时优先字符数少的情况
字符串 :"123456789"
正 则 :"^\d+?"
结 果 :1
符号 | 意义 |
---|---|
*? | 重复单字符或表达式零次以上(包括零次) |
+? | 重复单字符或表达式一次以上(包括一次) |
?? | 重复单字符或表达式零或一次 |
{n,}? | 重复单字符或表达式n次以上(包括n次) |
{n,m}? | 重复单字符或表达式n到m次 |
定位符
符号 | 意义 |
---|---|
^ | 字符串的开始 |
$ | 字符串的结束 |
\\b | 单词开始或结束 |
\\B | 非单词开头或结束的字符 |
连接符
符号 | 意义 |
---|---|
| | 用于连接两个字符或表达式,可理解为『或』 |
, | 用于连接两个字符,可理解为『或』 |
- | 用于选取一个字符域 |
分隔符
- 对单个字符或表达式等进行分隔
符号 | 意义 |
---|---|
[] | 单字符分隔符 :对单字符进行分隔 |
() | 表达式分隔符 :对表达式进行分隔 |
{} | 限定符分隔符 :对限定符进行分隔 |
正则实例
- 2到6位字母或数字组成的字符串
^ | [a-z,A-Z,0-9]|{2,6} | $ |
---|---|---|
首 | 2到6位字母或数字 | 尾 |
- 车牌号
^ | [a-z,A-Z]{1} | [a-z,A-Z,\\d]|{5,} | $ |
---|---|---|---|
首 | 1位字母 | 5位及以上字母或数字 | 尾 |
- 验证邮箱
^ | [A-Z0-9a-z._% -] | @ | [A-Za-z0-9.-] | \\.[A-Za-z]{2,4} | $ |
---|---|---|---|---|---|
首 | 字母、数字和._%- | @ | 字母、数字和.- | .和2~4位数字 | 尾 |