正则表达式
正则表达式
限定符
?
代表前方字符可以出现 0 次或一次
*
会匹配前方字符 0 个或多个字符
+
会匹配前方字符出现 1 次及以上的字符
{m,n}
指定字符出现次数范围,单个参数为 m 次或大于等于 m
多字符重复
()
用括号包含多字符后添加限定符
或运算符
匹配a (cat|dog)
会匹配 a cat 或 a dog
字符类
[abc]+
会匹配有 abc 构成的字符串
a-z
代表所有小写字母
A-Z
代表所有大写字母
0-9
代表所有数字构成的字符
^
代表排除字符组成,包含换行符
元字符
\d
代表数字字符
\w
代表单词字符
\s
代表空白符;包含 tab 字符和换行符
\D
代表非数字字符
\W
代表非单词字符
\S
代表非空白字符
.
代表任意字符但不包含换行符
^a
匹配行首 a
a$
匹配行尾 a
\b
单词字符边界
贪婪和懒惰匹配
<.+>
会贪婪匹配
<.+?>
会是懒惰匹配
实例
RGB 颜色值匹配
#[a-fA-F0-9]{6}\b
IPv4 地址匹配
\b((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)\b
正则表达式后面的全局标记g
指定将该表达式应用到输入字符串中能够查找到的尽可能多的匹配。
表达式的结尾处的不区分大小写i
标记指定不区分大小写。