字符组:[字符组]
在同一位置肯出现的各种字符组成了一个字符组,在正则表达式中用[]表示
.匹配除换行符之外的任意字符
\w 匹配字符或数字或下划线
\s 匹配任意的空白符
\d 匹配数字
\W 匹配非字符或数字或下划线
\S 匹配非任意的空白符
\D 匹配非任意的空白符
\n 匹配一个换行符
\t 匹配一个制表符
\b 匹配一个单词的结尾
^匹配字符串的开始
$ 匹配字符串的结尾
a|b 匹配字符a,或b
() 匹配括号内表达式,也表示一个组
[...] 匹配字符组中的字符
[^...] 匹配除了字符组中字符的所有字符
量词
* 重复零次或更多次
+ 重复一次或更多次
?重复零或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
所有的量词都要用在正则匹配的后面
字符集[][^]
分组() ==整体约束
对分组重命名 (?P<name>),如果没有起名,可以用/组数,来使用同一个正则表达式
或 | [^]
转义符\
\\d --\d
\\n --\n
加r 取消\ 的转义符
r'\d'--\d
r'\\d' --\\d
贪婪匹配:在满足匹配时,匹配尽可能长的字符串,默认情况下采用贪婪匹配
.*
惰性匹配匹配,在量词后面加上一个?
.*?
.*?x取前面任意长度的字符,直到出现x