? 匹配0次或1次前面的分组;
* 匹配0次或多次前面的分组;
+ 匹配一次或多次前面的分组;
{n} 匹配n次前面的分组
{n, } 匹配n次或更多前面的分组;
{n, m} 匹配至少n次、至多m次前面的分组;
{n, m}? 或 *? 或 +? 对前面的分组进行非贪心匹配;
^spam 意味着字符串必须以spam开始;
spam$ 意味着字符串必须以spam结束;
. 匹配所有字符,换行符除外;
\d、\w 和 \s 分别匹配数字、单词、空格;
\D、\W 和 \S 分别匹配除数字、单词、空格外的所有字符;
[abc] 匹配方括号内的任意字符(诸如a、b、c);
[^abc] 匹配不在方括号内的任意字符。
re.compile() 第二参数为 re.I 的不区分大小写识别
re.compile() 第二参数为 re.DOTALL 的忽略识别\n