- 简洁高效的字符串处理工具,在多种语言中支持,并语法规则通用。常用来做文本的校验和查找。
-
字符 + 数量
-
字符的表示规则
语法 含义 [0-9] / [a-z] /[A-Z]/[123abc] 从0-9的所有数字,从a-z的所有字母,从A-Z的所有字母 . 匹配所有字符,除过换行 \d = [0-9]
\D= [ ^ 0-9]所有数字 \w = [0-9a-zA-z_]
\W=[ ^ 0-9a-zA-z]所有数字字母和下划线 \s = [\f\n\r\t\v]
\S= [ ^ \f\n\r\t\v]所有非空白字符 -
数量表示规则
语法 含义 * 零次到多次 ? 零次或一次 {n} n次 {n,} n次到多次 {n,m} n次到m次 + 一次到多次 -
位置表示规则
语法 含义 ^ 匹配字符串开始位置 $ 匹配字符串结束为止 \b 匹配单词边界 \B 非单词边界
-
-
特殊字符
匹配特殊字符需要使用 \ 进行转译。常见的特殊字符有:
$ () * + . [ ? \ ^ { |
-
贪婪和非贪(在量词后增加?代表非贪婪)
- 贪婪:总是尝试匹配尽可能多的字符
- 非贪婪:总是尝试匹配尽可能少的字符
-
断言
符号 名称 含义 reg(?=exp) 零宽度正先行断言 reg匹配的内容后面的内容满足exp规则 reg(?!exp) 零宽度负先行断言 reg匹配的内容后面的内容不满足exp规则 (?<=exp)reg 零宽度正后发断言 reg匹配的内容前面的内容满足exp规则 (?<!exp)reg 零宽度负后发断言 reg匹配的内容前面的内容满足不满足exp规则