使用经验:(摘抄)
1、尽量少些长正则, 因为'难以维护'.
2、在写稍长的正则表达式时, 可以'分段写, 写一段测一段'.
3、如果正则非常复杂, 而且麻烦, 就要'考虑是否是正则适合的场景', 需要考虑使用其他方式来实现.
re.search() 懒惰匹配,,一次search满足,即得到一个结果。
re.findall() 再向后继续search → findall
.*? 表示0个或者任意个字符。
() 括号内代表要提取的内容。
r"\\" 等同于 "\\\\" 代表匹配文本中的反斜杠"\"
[abc] 代表匹配a或者b或者c(中括号中内容的一个)
\[ 转义[
re.findall('[1-2][0-9]{3}', string) 查找string中的年份,比如2016,1840