re.compile(r'<div class="sub">(.*?)</div>', re.S)
# 被采集的数据中有多行,有换行符所以要加re.S或者re.DOTALL,换行读取数据,要不行只能读取一行,如果第一行是空格就不能采集到数据,或者采集不全。
正则表达式中'. '匹配的除'\n'以外所有字符,设置 DOTALL模式,让 . 匹配包括 '\n' 所有字符。
str.replace()可以进行简单的替换
a = 'one.txt, index.py, index.php, index.html, index.js'
a.replace('one.txt', 'index.css')
'index.css, index.py, index.php, index.html, index.js'
re.sub()可以使用正则替换
>>> import re
>>> a
'one.txt, index.py, index.php, index.html, index.js'
>>> re.sub(r'\.[a-z]+', '.csv', a)
'one.csv, index.csv, index.csv, index.csv, index.csv'
贪婪模式和费贪婪模式:
# 贪婪匹配会匹配到尽可能多的字符
>>> a
"i love 'my father' and 'my mother&#