1.限定符
a*:表示a重复0次及以上
a+:表示a重复1次及以上
a?:表示a重复0次或1次
a{n}:表示a重复n次
a{n,}:表示a重复n次或更多次
a{n,m}:表示a重复n到m次
注:如果需要判断字符串的重复:(字符串)限定符
2.或运算符 "|"
eg. a(cat|dog):匹配的字符串是acat或adog
3.字符类
我们想匹配由a、b、c组成的字符串,就可以写作:[abc]+
[ ]表示:要求匹配的字符只能取自于[]内的
[a-z]:表示匹配的字符取自小写的a到z
[a-zA-Z]:表示匹配的字符取自所有英文字符
[a-zA-z0-9]:表示匹配的字符取自所有英文字符和数字
^:在[前用,eg. [^0-9]:匹配取自除了0-9之外的所有字符的字符
4.元字符
\d:数字字符
\w:所有单词字符,即所有英文字符、数字和下划线
\s:空白符(Tab和换行符)
\D:非数字字符
\W:非单词字符
\S:非空白符
.:可以代表任何字符,但是不包括换行符
^:只匹配行首 eg. ^a:只匹配行首的a
$:只匹配行尾 eg.a$:只匹配行尾的a
5.贪婪与懒惰匹配
?可以将贪婪匹配切换为懒惰匹配
eg. 正则表达式:<.+> 想要匹配的是<>内的内容
但在匹配时 却将 <span><b>dhhdvciagye<span><b>的整句话都匹配了
这是因为“.”表示任意字符,故将>也匹配了,解决方法是:将正则表达式改为:<.+?>
标签:表示,字符,匹配,正则表达式,eg,重复,取自 From: https://www.cnblogs.com/777-Song/p/17354204.html