regex基础
- PS: 在线工具
基本字符匹配(Basic)
.
匹配除换行符之外的任意单个字符。[ ]
匹配方括号内的任意一个字符。
例如:[abc]匹配a、b或c。
范围表示:[a-z]表示所有小写字母。[^ ]
匹配不在方括号内的任意一个字符。
例如:[^abc]表示不是a、b、c的字符。|
逻辑或。
例如:cat|dog匹配cat或dog。
字符类(Character Class)
\d
匹配任意数字,等价于[0-9]\D
匹配任意非数字字符,等价于[^0-9]\w
匹配字母、数字、下划线,等价于[a-zA-Z0-9_]\W
匹配非字母、数字、下划线字符\s
匹配空白字符(空格、Tab、换行等)\S
匹配非空白字符
量词(Quantifiers)
*
匹配前一个元素 0 次或多次+
匹配前一个元素 1 次或多次?
匹配前一个元素 0 次或 1 次{n}
精确匹配 n 次{n,}
至少匹配 n 次{n,m}
匹配 n 到 m 次
定位符(Anchors)
^
匹配行或字符串的开头
示例:^Hello$
匹配行或字符串的结尾
示例:World$\b
单词边界
示例:\bwin\b只匹配win\B
非单词边界
贪婪匹配 & 非贪婪匹配
ab{3,}(贪婪,默认)
尽可能多地匹配
匹配:abbb、abbbb、abbbbbab{3,}?(非贪婪)
尽可能少地匹配
在abbbb中只匹配abbb
修饰符(Flags)
i
忽略大小写(case-insensitive)m
多行模式(^、$匹配每一行)s
允许.匹配换行符g
全局匹配,匹配所有结果
分组与引用(Groups)
(abc)
捕获分组,可在后续引用示例:
(\d{4})-(\d{2})-(\d{2})