备忘录
# 备忘录
# 字符类
.
: 匹配除了换行符(\n)以外的任意一个字符\w\d\s
:- 任意一个字母或数字或下划线,也就是A~Z, a~z, 0~9, _ 中的任意一个
- 任意一个数字,0~9 中的任意一个
- 包括空格、制表符、换页符等空白字符的其中任意一个
\W\D\S
: 非字母,数字,空白字符[abc]
: 匹配a,b,c中任意一个[^abc]
: 匹配a,b,c之外的任意一个[a-g]
: a和g之间的任意一个字符
# 锚
^abc$
: 字符串的开头/结尾\b \B
: 单词边界,非单词的边界
# 转义字符
\. \* \\
: 转义特殊字符\t \n \r
: 制表符, LF换行符,CR换行符
# 分组 & 前瞻后顾
(abc)
: 捕获分组\1
: 反向引用 #1(?:abc)
: 不捕获分组(?=abc)
: 正向前瞻(?!abc)
: 负向前瞻
# 量词 & 分支
a* a+ a?
: 0个或更多,1个多更多,0个或1个a{5} a{2,}
: 刚好5个,2个以上a{1,3}
: 1~3个a+? a{2,}?
: 非贪婪匹配(仅可能少匹配)ab|cd
: 匹配ab或cd