正则表达式与re模块

阅读目录

在线正则表达式测试

http://tool.oschina.net/regex/

常见匹配模式

模式 描述
\w 匹配字母数字及下划线
\W 匹配非字母数字下划线
\s 匹配任意空白字符,等价于 [\t\n\r\f].
\S 匹配任意非空字符
\d 匹配任意数字,等价于 [0-9]
\D 匹配任意非数字
\A 匹配字符串开始
\Z 匹配字符串结束,如果是存在换行,只匹配到换行前的结束字符串
\z 匹配字符串结束
\G 匹配最后匹配完成的位置
\n 匹配一个换行符
\t 匹配一个制表符
^ 匹配字符串的开头
$ 匹配字符串的末尾。
. 匹配任意字符,除了换行符,当re.DOTALL标记被指定时,则可以匹配包括换行符的任意字符。
[...] 用来表示一组字符,单独列出:[amk] 匹配 'a','m'或'k'
[^...] 不在[]中的字符:[^abc] 匹配除了a,b,c之外的字符。
* 匹配0个或多个的表达式。
+ 匹配1个或多个的表达式。
? 匹配0个或1个由前面的正则表达式定义的片段,非贪婪方式
{n} 精确匹配n个前面表达式。
{n, m} 匹配 n 到 m 次由前面的正则表达式定义的片段,贪婪方式
a|b 匹配a或b
( ) 匹配括号内的表达式,也表示一个组

re.match

re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。

re.match(pattern, string, flags=0)

最常规的匹配

import re

content = 'Hello 123 4567 World_This is a Regex Demo'
print(len(content))
result = re.match('^Hello\s\d\d\d\s\d{4}\s\w{10}.*Demo$', content)
print(result)
print(result.group())
print(result.span())
41
<_sre.SRE_Match object; span=(0, 41), match='Hello 123 4567 World_This is a Regex Demo'>
Hello 123 4567 World_This is a Regex Demo
(0, 41)

输出结果

泛匹配

import re

content = 'Hello 123 4567 World_This is a Regex Demo'
result = re.match('^Hello.*Demo$', content)
print(result)
print(result.group())
print(result.span())
<_sre.SRE_Match object; span=(0, 41), match='Hello 123 4567 World_This is a Regex Demo'>
Hello 123 4567 World_This is a Regex Demo
(0, 41)

输出结果

匹配目标

import re

content = 'Hello 1234567 World_This is a Regex Demo'
result = re.match('^Hello\s(\d+)\sWorld.*Demo$', content)
print(result)
print(result.group(1))
print(result.span())
<_sre.SRE_Match object; span=(0, 40), match='Hello 1234567 World_This is a Regex Demo'>
1234567
(0, 40)

输出结果

贪婪匹配

import re

content = 'Hello 1234567 World_This is a Regex Demo'
result = re.match('^He.*(\d+).*Demo$', content)
print(result)
print(result.group(1))
<_sre.SRE_Match object; span=(0, 40), match='Hello 1234567 World_This is a Regex Demo'>
7

输出结果

非贪婪匹配

import re

content = 'Hello 1234567 World_This is a Regex Demo'
result = re.match('^He.*?(\d+).*Demo$', content)
print(result)
print(result.group(1))
<_sre.SRE_Match object; span=(0, 40), match='Hello 1234567 World_This is a Regex Demo'>
1234567

输出结果

匹配模式

import re

content = '''Hello 1234567 World_This
is a Regex Demo
'''
result = re.match('^He.*?(\d+).*?Demo$', content, re.S)
print(result.group(1))
1234567

输出结果

转义

import re

content = 'price is $5.00'
result = re.match('price is $5.00', content)
print(result)
None

输出结果

import re

content = 'price is $5.00'
result = re.match('price is \$5\.00', content)
print(result)
<_sre.SRE_Match object; span=(0, 14), match='price is $5.00'>

输出结果

总结:尽量使用泛匹配、使用括号得到匹配目标、尽量使用非贪婪模式、有换行符就用re.S

re.search

re.search 扫描整个字符串并返回第一个成功的匹配。

import re

content = 'Extra stings Hello 1234567 World_This is a Regex Demo Extra stings'
result = re.match('Hello.*?(\d+).*?Demo', content)
print(result)
None

输出结果

import re

content = 'Extra stings Hello 1234567 World_This is a Regex Demo Extra stings'
result = re.search('Hello.*?(\d+).*?Demo', content)
print(result)
print(result.group(1))
<_sre.SRE_Match object; span=(13, 53), match='Hello 1234567 World_This is a Regex Demo'>
1234567

输出结果

总结:为匹配方便,能用search就不用match

匹配演练

import re

html = '''<div id="songs-list">
<h2 class="title">经典老歌</h2>
<p class="introduction">
经典老歌列表
</p>
<ul id="list" class="list-group">
<li data-view="2">一路上有你</li>
<li data-view="7">
<a href="/2.mp3" singer="任贤齐">沧海一声笑</a>
</li>
<li data-view="4" class="active">
<a href="/3.mp3" singer="齐秦">往事随风</a>
</li>
<li data-view="6"><a href="/4.mp3" singer="beyond">光辉岁月</a></li>
<li data-view="5"><a href="/5.mp3" singer="陈慧琳">记事本</a></li>
<li data-view="5">
<a href="/6.mp3" singer="邓丽君"><i class="fa fa-user"></i>但愿人长久</a>
</li>
</ul>
</div>'''
result = re.search('<li.*?active.*?singer="(.*?)">(.*?)</a>', html, re.S)
if result:
print(result.group(1), result.group(2))
齐秦 往事随风

输出结果

import re

html = '''<div id="songs-list">
<h2 class="title">经典老歌</h2>
<p class="introduction">
经典老歌列表
</p>
<ul id="list" class="list-group">
<li data-view="2">一路上有你</li>
<li data-view="7">
<a href="/2.mp3" singer="任贤齐">沧海一声笑</a>
</li>
<li data-view="4" class="active">
<a href="/3.mp3" singer="齐秦">往事随风</a>
</li>
<li data-view="6"><a href="/4.mp3" singer="beyond">光辉岁月</a></li>
<li data-view="5"><a href="/5.mp3" singer="陈慧琳">记事本</a></li>
<li data-view="5">
<a href="/6.mp3" singer="邓丽君">但愿人长久</a>
</li>
</ul>
</div>'''
result = re.search('<li.*?singer="(.*?)">(.*?)</a>', html, re.S)
if result:
print(result.group(1), result.group(2))
任贤齐 沧海一声笑

输出结果

import re

html = '''<div id="songs-list">
<h2 class="title">经典老歌</h2>
<p class="introduction">
经典老歌列表
</p>
<ul id="list" class="list-group">
<li data-view="2">一路上有你</li>
<li data-view="7">
<a href="/2.mp3" singer="任贤齐">沧海一声笑</a>
</li>
<li data-view="4" class="active">
<a href="/3.mp3" singer="齐秦">往事随风</a>
</li>
<li data-view="6"><a href="/4.mp3" singer="beyond">光辉岁月</a></li>
<li data-view="5"><a href="/5.mp3" singer="陈慧琳">记事本</a></li>
<li data-view="5">
<a href="/6.mp3" singer="邓丽君">但愿人长久</a>
</li>
</ul>
</div>'''
result = re.search('<li.*?singer="(.*?)">(.*?)</a>', html)
if result:
print(result.group(1), result.group(2))
beyond 光辉岁月

输出结果

re.findall

搜索字符串,以列表形式返回全部能匹配的子串。

import re

html = '''<div id="songs-list">
<h2 class="title">经典老歌</h2>
<p class="introduction">
经典老歌列表
</p>
<ul id="list" class="list-group">
<li data-view="2">一路上有你</li>
<li data-view="7">
<a href="/2.mp3" singer="任贤齐">沧海一声笑</a>
</li>
<li data-view="4" class="active">
<a href="/3.mp3" singer="齐秦">往事随风</a>
</li>
<li data-view="6"><a href="/4.mp3" singer="beyond">光辉岁月</a></li>
<li data-view="5"><a href="/5.mp3" singer="陈慧琳">记事本</a></li>
<li data-view="5">
<a href="/6.mp3" singer="邓丽君">但愿人长久</a>
</li>
</ul>
</div>'''
results = re.findall('<li.*?href="(.*?)".*?singer="(.*?)">(.*?)</a>', html, re.S)
print(results)
print(type(results))
for result in results:
print(result)
print(result[0], result[1], result[2])
[('/2.mp3', '任贤齐', '沧海一声笑'), ('/3.mp3', '齐秦', '往事随风'), ('/4.mp3', 'beyond', '光辉岁月'), ('/5.mp3', '陈慧琳', '记事本'), ('/6.mp3', '邓丽君', '但愿人长久')]
<class 'list'>
('/2.mp3', '任贤齐', '沧海一声笑')
/2.mp3 任贤齐 沧海一声笑
('/3.mp3', '齐秦', '往事随风')
/3.mp3 齐秦 往事随风
('/4.mp3', 'beyond', '光辉岁月')
/4.mp3 beyond 光辉岁月
('/5.mp3', '陈慧琳', '记事本')
/5.mp3 陈慧琳 记事本
('/6.mp3', '邓丽君', '但愿人长久')
/6.mp3 邓丽君 但愿人长久 output

输出结果

import re

html = '''<div id="songs-list">
<h2 class="title">经典老歌</h2>
<p class="introduction">
经典老歌列表
</p>
<ul id="list" class="list-group">
<li data-view="2">一路上有你</li>
<li data-view="7">
<a href="/2.mp3" singer="任贤齐">沧海一声笑</a>
</li>
<li data-view="4" class="active">
<a href="/3.mp3" singer="齐秦">往事随风</a>
</li>
<li data-view="6"><a href="/4.mp3" singer="beyond">光辉岁月</a></li>
<li data-view="5"><a href="/5.mp3" singer="陈慧琳">记事本</a></li>
<li data-view="5">
<a href="/6.mp3" singer="邓丽君">但愿人长久</a>
</li>
</ul>
</div>'''
results = re.findall('<li.*?>\s*?(<a.*?>)?(\w+)(</a>)?\s*?</li>', html, re.S)
print(results)
for result in results:
print(result[1])
[('', '一路上有你', ''), ('<a href="/2.mp3" singer="任贤齐">', '沧海一声笑', '</a>'), ('<a href="/3.mp3" singer="齐秦">', '往事随风', '</a>'), ('<a href="/4.mp3" singer="beyond">', '光辉岁月', '</a>'), ('<a href="/5.mp3" singer="陈慧琳">', '记事本', '</a>'), ('<a href="/6.mp3" singer="邓丽君">', '但愿人长久', '</a>')]
一路上有你
沧海一声笑
往事随风
光辉岁月
记事本
但愿人长久

输出结果

re.sub

替换字符串中每一个匹配的子串后返回替换后的字符串。

import re

content = 'Extra stings Hello 1234567 World_This is a Regex Demo Extra stings'
content = re.sub('\d+', '', content)
print(content)
Extra stings Hello  World_This is a Regex Demo Extra stings

输出结果

import re

content = 'Extra stings Hello 1234567 World_This is a Regex Demo Extra stings'
content = re.sub('\d+', 'Replacement', content)
print(content)
Extra stings Hello Replacement World_This is a Regex Demo Extra stings

输出结果

import re

content = 'Extra stings Hello 1234567 World_This is a Regex Demo Extra stings'
content = re.sub('(\d+)', r'\1 8910', content)
print(content)
Extra stings Hello 1234567 8910 World_This is a Regex Demo Extra stings

输出结果

import re

html = '''<div id="songs-list">
<h2 class="title">经典老歌</h2>
<p class="introduction">
经典老歌列表
</p>
<ul id="list" class="list-group">
<li data-view="2">一路上有你</li>
<li data-view="7">
<a href="/2.mp3" singer="任贤齐">沧海一声笑</a>
</li>
<li data-view="4" class="active">
<a href="/3.mp3" singer="齐秦">往事随风</a>
</li>
<li data-view="6"><a href="/4.mp3" singer="beyond">光辉岁月</a></li>
<li data-view="5"><a href="/5.mp3" singer="陈慧琳">记事本</a></li>
<li data-view="5">
<a href="/6.mp3" singer="邓丽君">但愿人长久</a>
</li>
</ul>
</div>'''
html = re.sub('<a.*?>|</a>', '', html)
print(html)
results = re.findall('<li.*?>(.*?)</li>', html, re.S)
print(results)
for result in results:
print(result.strip())
<div id="songs-list">
<h2 class="title">经典老歌</h2>
<p class="introduction">
经典老歌列表
</p>
<ul id="list" class="list-group">
<li data-view="">一路上有你</li>
<li data-view="">
沧海一声笑
</li>
<li data-view="" class="active">
往事随风
</li>
<li data-view="">光辉岁月</li>
<li data-view="">记事本</li>
<li data-view="">
但愿人长久
</li>
</ul>
</div>
['一路上有你', '\n 沧海一声笑\n ', '\n 往事随风\n ', '光辉岁月', '记事本', '\n 但愿人长久\n ']
一路上有你
沧海一声笑
往事随风
光辉岁月
记事本
但愿人长久 output

输出结果

re.compile

将正则字符串编译成正则表达式对象

将一个正则表达式串编译成正则对象,以便于复用该匹配模式:

import re

content = '''Hello 1234567 World_This
is a Regex Demo'''
pattern = re.compile('Hello.*Demo', re.S)
result = re.match(pattern, content)
#result = re.match('Hello.*Demo', content, re.S)
print(result)
<_sre.SRE_Match object; span=(0, 40), match='Hello 1234567 World_This\nis a Regex Demo'>

输出结果

实战练习

"""
Python爬虫-豆瓣读书
author:xiong
time:2019-1-23
"""
import re,requests,json header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3472.3 Safari/537.36'} response = requests.get("https://book.douban.com/",header)
response = response.text
book_url = re.findall('<div class="cover">.*?<a href="(.*?)".*?>',response,re.S)
book_title = re.findall('<div class="cover">.*?<div class="title">.*?title="(.*?)".*?</div>',response,re.S)
book_author = re.findall('<div class="cover">.*?<div class="author">(.*?)</div>',response,re.S)
book_publish_year = re.findall('<div class="cover">.*?<span class="year">(.*?)</span>',response,re.S)
book_publisher = re.findall('<div class="cover">.*?<span class="publisher">(.*?)</span>',response,re.S)
book_abstract = re.findall('<div class="cover">.*?<p class="abstract">(.*?)</p>',response,re.S)
# print(book_url)
# print(book_title)
# print(book_publish_year)
# print(book_publisher)
# print(book_abstract)
ft = open("douban_book.txt","a+")
for i in range(len(book_title)):
try:
row_content = "序号{}:".format(i) + book_url[i]+ book_title[i]+ "-" + book_author[i]+ "-" + book_publish_year[i]+ "-" + book_publisher[i]+ "-" + book_abstract[i]
row_content = row_content.replace("\n","")
row_content = row_content.replace(" ","")
print(row_content)
ft.write(row_content)
ft.write("\n")
except:
continue ft.close()

爬去豆瓣读书书单

序号0:https://book.douban.com/subject/30358478/?icn=index-editionrecommend名侦探的咒缚-[日]东野圭吾-2018-12-21-南海出版公司-《名侦探的咒缚》是日本作家东野圭吾的奇幻长篇小说,用悬念与诚意写出了人生的彷徨与抉择。太奇怪了!绕了半天竟然又回到了原点,我不禁脊背发凉。又不是初次来这个图书馆,怎么会迷路?书架间闪过一个人影,是个穿格子西装的男人。这下有救了!我慌忙追上去,他却瞬间消失了。天花板上不知何时垂下一架楼梯,我爬了上去,昏暗中只见一个白衣少女站在面前。“您就是...
序号1:https://book.douban.com/subject/30424595/?icn=index-editionrecommend山海经--2019-1-15-浙江教育出版社-《山海经》是一部记述中国古代志怪的奇书。该书作者不详,大体是战国中后期到汉代初中期的楚国或巴蜀人所作。《山海经》是地理方志也是神话故事集,书中涉及地理、动物、植物、矿物、巫术、宗教、医药、民族等方面,并保存了夸父逐日、女娲补天、精卫填海等远古神话和寓言故事,包罗万象,多彩纷呈。《山海经》充满着神奇色彩,又饱含中国古代人文、自然知识,是古今...
序号2:https://book.douban.com/subject/26800309/?icn=index-editionrecommend答案之书-保罗-2016-6-1-百花洲文艺出版社-生活取舍、职场浮沉、情感去留人生总要面对无数选择,无数困惑每到此时,多么需要一个答案或暗示为自己平添迎接未来的勇气现在,只需在心中想着那个最近令你纠结不已的问题然后拿着《答案之书》专注10秒再自然、随机地翻开你最有感觉的一页是否要去表白?现在提加薪合不合适?这支股票会不会长?地球到底需不需要超人?翻开它一切便有了答案。●如果你有正在纠结的...
序号3:https://book.douban.com/subject/30414743/?icn=index-editionrecommend显微镜下的大明-马伯庸-2019-1-1-湖南文艺出版社-★马伯庸全新历史纪实作品,一本值得收藏的明朝历史书★六件罕为人知的明代档案,六个尘封已久的民生往事★生动的基层治政手册,于细微处读懂真正的古代中国★这本书娓娓道来,用笔绵密细致。读者读来也可以从一个又一个细节当中,编织起一个复杂的大明帝国。——张宏杰---------------------------------------------------------------------------------本书讲述的,是六个深藏于故纸堆中...
序号4:https://book.douban.com/subject/30427922/?icn=index-editionrecommend掌控关系-熊太行-2019-1-1-北京联合出版公司-如何在职场上更受欢迎?如何解决激烈的家庭冲突?如何拿回自己的人生掌控权?《掌控关系》是一本人人都需要的关系百科。本书详细拆解了几十种人际关系,内容覆盖自我关系、职场关系、亲密关系、家庭关系、社交关系五个领域,教你分析处境、管理情绪、从容出击、理性应对。我只关心一件事:让你在关系中漂亮地赢!
序号5:https://book.douban.com/subject/30390651/?icn=index-latestbook-subject时间的礼物-[瑞典]弗雷德里克·巴克曼-2019-1-1-天津人民出版社-【内容简介】世间的一切都有标价,除了时间,一秒就是一秒,谁都无法讨价还价。于是我总在出差,把生命中的每分每秒都贡献给工作,因为我坚信创造财富才是时间的正经归宿。45岁时,我成为一个有事业和资本的成功人士,但妻子和儿子离开了我。癌症将我送进医院,一周前,我认识了隔壁病房的五岁女孩。她用蜡笔给椅子涂颜色,用牛奶盒做恐龙、给兔子玩偶讲故事,都是...
序号6:https://book.douban.com/subject/30331839/?icn=index-latestbook-subjectT.S.艾略特传-[英]林德尔·戈登-2019-1-上海文艺出版社-T.S.艾略特,1948年诺贝尔文学奖得主,一个比起成为诗人更想成为圣徒的人;却因为无法成圣,而成了伟大的诗人。他总是言说那些&#34;不被言说的",在公众面具保卫之下的孤独里过着隐秘的生活。如果不是因为他是诗人,有探究并定义这种生活的需求,那么我们将永远无法了解他的生活。他的诗从生活的酒滓里滤出一部结局早已注定的大戏,呈现的便是一部连贯的灵魂自传,诚恳,...
序号7:https://book.douban.com/subject/30358339/?icn=index-latestbook-subject我如何成为一名畅销书作家-[美]斯蒂夫·赫利-2019-1-中信出版集团-对于皮特•塔斯洛来说,每天清晨需要面对的无外乎隔夜的啤酒、皱巴巴的葱味酸奶薯条、倒车时一次又一次蹭到的木头椽子……以及,一份无聊又安稳的工作——美其名曰“文案顾问”,实则作为代笔,为富家子弟打磨高校所需的、华丽的申请陈述。而他那颗想要成为作家的心,只能偶尔借着工作满足一下。可在他身上发生了两件事:第一,他发现那些写得又投机又糟糕的人,竟然...
序号8:https://book.douban.com/subject/30247860/?icn=index-latestbook-subject整个巴黎属于我-[美]莱斯利·M.M.布鲁姆-2019-1-中信出版集团-【海明威诞辰120周年重磅纪念】显微镜视角,细看野生天才的黄金时代!---------------------------==如果可以,谁不想用力喝酒,用力感受,用力爱,以青春之名?==超24家权威媒体推荐《纽约时报》畅销书《华盛顿邮报》年度好书《老人与海》《了不起的盖茨比》发掘者、美国出版龙头斯克里布纳年度巨献“新新闻主义”代表人物、《邻人之妻》作者盖伊·特立斯《名利场》《华尔...
序号9:https://book.douban.com/subject/30403403/?icn=index-latestbook-subject时间里的痴人-[美]珍妮弗·伊根-2019-2-1-博集天卷|湖南文艺出版社-【编辑推荐】※21世纪美国文坛重要的作品,狂揽42个重量级奖项作者凭本书入选《时代》周刊“影响世界100人”之一,同年获得普利策文学奖、美国国家书评奖等奖项,横扫欧美几乎所有重要奖项。※时间才是真正的主角,它不断夺走我们的心爱之物,同时也让人成长。时间从1970年开始,到2020年的未来世界,横跨50年,描写与摇滚界有关的一群人半个世纪的人生,13个短...
序号10:https://book.douban.com/subject/30401611/?icn=index-latestbook-subject金叶:来自金枝的故事-[英]J.G.弗雷泽-2019-2-后浪丨四川人民出版社-十二卷本巨著《金枝》中摘录的精华来自世界各地的民间传说与神话故事◎编辑推荐☆本书取材自英国人类学奠基人J.G.弗雷泽爵士的十二卷本巨著《金枝》,由他的夫人丽莉·弗雷泽编选改写而成。其中不少精彩的故事未被通行的一卷本《金枝》收录。☆《金叶》没有《金枝》引用的大量文献资料和艰深的科学推论,只选取若干故事传说,以清新隽永的文笔娓娓道来,充满了诗情画...
序号11:https://book.douban.com/subject/30370294/?icn=index-latestbook-subject神秘-[挪威]克努特·汉姆生-2019-1-1-中国国际广播出版社-本书的故事荒诞不经却又平淡无奇,主要讲述了发生在挪威一个沿海的小镇上的一系列重大事件。随着特立独行的厌世者、农学家纳吉尔的到来,这个沿海小镇被细密编织的社会关系出现了一系列微妙的变化。纳吉尔以一种略显冷酷的对人性的敏感洞察,触及人的心灵深处的“含羞草一般”的敏感地带。他用他“荒诞”的言行,映照出这些小镇居民幽暗的本质和被压抑的欲望。每个小...
序号12:https://book.douban.com/subject/30283398/?icn=index-latestbook-subject家族、土地与祖先-[美]易劳逸-2019-1-重庆出版社-长时段、全球史视野下的中国近世史典范之作哈佛大学教授费正清弟子、著名汉学家易劳逸重新审视中国近世史的力作《历史》《历史学家》《亚洲》《经济史学刊》等媒体推荐好书☆读懂近世中国的“常”与“变”才能读懂近现代的中国☆长时段、全球史视野下的中国近世史典范之作☆哈佛大学教授费正清弟子、著名汉学家易劳逸重新审视中国近世史的力作☆作者的观点与马克斯·...
序号13:https://book.douban.com/subject/30401156/?icn=index-latestbook-subject生活是甜蜜-李维菁-2019-1-世纪文景|上海人民出版社-★台北书展文学大奖《我是许凉凉》作者、“少女学”掌门人,诗意书写都市女性的欲望与孤独、人际关系的疏离与无依。★渴望巅峰,却不被眷顾,灵魂与梦想的献身难道不过幻影一场?★世人的目光只看艺术家,她却看着艺术家身边的人,写他们血液里对梦想充满原生动力的渴望,写不带杂质的初衷如何在金钱、权力世界里打折,面目斑驳得连拥有者也快辨认不出来。★她写恐惧...
序号14:https://book.douban.com/subject/30331841/?icn=index-latestbook-subject被诅咒的部分-[法]乔治·巴塔耶-2019-1-南京大学出版社-【编辑推荐】本书收录法国鬼才哲学家乔治•巴塔耶力作《耗费的概念》与《被诅咒的部分》,书后附同济大学教授张生长文导读。在这本书中,巴塔耶就人和世界的观念发出了振聋发聩的声音,他提出的“普遍经济学”为传统经济观带来了哥白尼式的转变。在巴塔耶这里,读者会遭遇墨西哥的活人献祭、路德的宗教改革、“二战”后的马歇尔计划……巴塔耶的见解是素朴却惊人的...
序号15:https://book.douban.com/subject/30374824/?icn=index-latestbook-subject绘星者-王元-2019-1-1-重庆出版社-这本书是新生代科幻作家王元的作品合集,包括《门后面》《少女阿C》《火星节考》《海妖》《囚笼宇宙》《五阴炽盛》《包裹》《绘星者》《人生何处》《王》《吾爱永生》《小机》等篇目,每篇一到三万字不等,内容涉及人工智能、外星生命、高新科技等方方面面,充满无穷的想象。从中,我们既可以看出年轻一代科幻作者们大胆创造和对世界的独立解读,同时也会惊叹于他们...
序号16:https://book.douban.com/subject/30376593/?icn=index-latestbook-subject当下的启蒙-[美]史迪芬·平克-2018-12-浙江人民出版社-[编辑推荐]●比尔•盖茨最喜爱的一本书。理查德·道金斯心中的诺贝尔文学奖作品。尤瓦尔•赫拉利2018年最爱的书之一。●当代最伟大思想家史蒂芬·平克全面超越自我的巅峰之作,一部关于人类进步的英雄史诗。●《当下的启蒙》用数据和事实揭示出世界的真相:不是黑暗,而是光明;不是丧,而是燃;我们没有退步,而是一直在进步,还将继续进步。用这本书点燃生活的勇...
序号17:https://book.douban.com/subject/26281726/?icn=index-latestbook-subject人性的因素-[英]格雷厄姆·格林-2018-12-10-江苏凤凰文艺出版社-《人性的因素》是被马尔克斯誉为完美的小说,也是格林探讨人性的终极之作,写尽了人性的所有可能:残忍的、恐怖的、冷漠的、无力的、天真的、自由的、善良的、悲悯的、充满爱的……而影响我们人性作出选择的因素又是什么?是爱情、友情、亲情,还是工作、家庭、国家?真正了解人性的人,才知道始终坚持善良有多难得。冷战期间,英国情报人员卡瑟尔,每天过着最为普通...
序号18:https://book.douban.com/subject/30394658/?icn=index-latestbook-subject想我苦哈哈的一生-[美]詹姆斯•瑟伯-2018-12-江苏凤凰文艺出版社-★二十世纪美国文学大师詹姆斯•瑟伯经典小说集在这个不会突然变得美好的世界上,你总有办法找到属于自己的勇气!★谁是詹姆斯•瑟伯?《纽约客》漫画家、《时代》杂志封面人物;继马克•吐温之后的大幽默家;1960年美国戏剧界最高荣誉“托尼奖”得主。★鹦鹉史航推崇备至的短篇小说集如果说毛姆是人世间理直气壮的挑剔者,瑟伯就是胆战心惊的吐槽大师。他有着神经...
序号19:https://book.douban.com/subject/30358955/?icn=index-latestbook-subject大师镜头昆汀篇-[澳]克里斯托弗·肯沃西(ChristopherKenworthy)-2018-12-1-后浪丨文化发展出版社-想让你的观众紧张到窒息吗?精选《杀死比尔》《低俗小说》《无耻混蛋》等神作之典型场景逐镜解析昆汀营造紧张气氛的看家本领Amazon电影类畅销榜No.1作者重磅导演技法书解锁大师级运镜思维刷新拉片姿势......................※编辑推荐※重磅拉片系列第1弹《大师镜头昆汀篇》,精选7部电影,11场经典镜头段落,逐镜解析当代好莱坞类型片顶尖高手的核心运镜技巧,解锁昆汀·塔...
序号20:https://book.douban.com/subject/30401009/?icn=index-latestbook-subject水妖-[美]内森·希尔-2019-1-理想国丨九州出版社-首次预言“特朗普式”领袖的执政与荒谬,从反越战到占领华尔街,理想主义者的幻灭与重塑我们爱得最深的东西伤我们最深。美国文坛新星的天才处女作丨《图书馆杂志》十大好书丨《纽约时报书评》年度好书同名改编迷你剧2019年上映,《星球大战》导演艾布拉姆斯执导,梅丽尔·斯特里普主演。失踪多年的母亲突然以犯罪嫌疑人的身份重新出现,灵思枯竭、沉迷网游的大学助...
序号21:https://book.douban.com/subject/30389943/?icn=index-latestbook-subject凯尔特神话-[英]米兰达·阿尔德豪斯-格林(MirandaAldhouse-Green)-2019-1-后浪丨民主与建设出版社-专业学者写就的神话入门读物双色印刷;大量来自西欧地区的考古遗迹和器物爱尔兰国宝级踢踏舞剧《大河之舞》第四幕:致库呼兰的挽歌的编舞素材网络游戏《魔兽世界》,小说及电影《指环王》《哈利·波特》的灵感来源………………※编辑推荐※凯尔特文化研究领域的专业学者写就的神话入门书籍。严谨不失风趣的描写,深入浅出地神话考古分析,器物雕塑的适时展现,为不熟...
序号22:https://book.douban.com/subject/30394212/?icn=index-latestbook-subject暖气-慢三-2019-2-中国工人出版社-三天,五命。清洗冷漠,沸腾人心——————————▼编辑推荐☆让50万豆瓣读者起早贪黑,读过的人忠告:一定要在白天读!☆国内难得一见的社会派悬疑佳作,《无证之罪》作者紫金陈五星推荐!——————————▼内容提要来暖气的日子,华镜家的暖气不热。他拧开阀门放气,暖流上升,从气孔喷出了汩汩血水。随后,T小区的居民接二连三遭遇不测。神秘杀手在每...
序号23:https://book.douban.com/subject/30328192/?icn=index-latestbook-subject吉尔·德勒兹-[瑞典]芙丽达·贝克曼-2019-1-南京大学出版社-▼一本对法国重要哲学家吉尔•德勒兹新颖、扼要却又广博的哲学传记。▼贝克曼并非忠诚地复原德勒兹的一生,而是在探索其生命与作品中的创造、遭际与生成时,企图与德勒兹建立批判性对话。▼贝克曼以德勒兹所推崇的方式,在背离德勒兹的过程努力中靠近德勒兹的思想内核。▼这不是一本厚重的德勒兹编年史,而是一张标记了德勒兹一生遭际的地图。按图索“迹”,我们便能...
序号24:https://book.douban.com/subject/30376530/?icn=index-latestbook-subject夜逝之时-(冰)弗丽达·奥·西古尔达多蒂尔-2019-1-1-中国国际广播出版社-《夜逝之时》(Meðannóttinlíður,英译名NightWatch《守夜》)出版于1990年,甫一出版便获得了同年的冰岛文学奖,1992年又获得了北欧理事会文学奖,是第二部荣获该奖的冰岛文学作品。小说以主人公尼娜(Nína)的视角,以不同寻常的叙事手法讲述了一段家族故事。母亲临终前的三个夜晚里,尼娜守在她的床前。在夜晚逝去之时,无事可做的她只得回顾自身、回顾...
序号25:https://book.douban.com/subject/30383598/?icn=index-latestbook-subject住宅读本-[日]中村好文-2019-1-后浪丨中国华侨出版社-斩获多项建筑设计大奖曾为村上春树设计住宅的著名建筑师中村好文经典之作◎编辑推荐☆家是生活的容器,是心灵休憩的角落,是与家人一起开开心心生活的地方……☆村上春树、三谷龙二的住宅设计师、建筑师中的生活家中村好文带你解读住宅,教你打造一个与内心和生活习惯完美契合的理想之家。◎内容简介★家是什么?对于“家”这个承载着生活重量的名词,每个人都拥...
序号26:https://book.douban.com/subject/30400605/?icn=index-latestbook-subject保龄球的意识流-陆源-2019-1-后浪丨四川文艺出版社-王小波的后继者,烧脑的智性写作◎编辑推荐★80后新锐作家陆源,“王小波门下走狗”代表人物,中短篇小说首次结集出版。★小说采取一种非常自由的表现手法,纵横恣肆,有意识流,又不仅是意识流。★作者同时是舒尔茨作品的译者,塞利纳小说的编辑,其创作中可以看到如塞利纳、舒尔茨般意象纷繁、绵绵不绝的气象。★《保龄球的意识流》写的不纯粹是80后年轻人的境遇...
序号27:https://book.douban.com/subject/30384531/?icn=index-latestbook-subject秩序-[美]彼得·T.李森-2018-12-31-中信出版社-这是一本揭示“恶棍”组织中隐藏的有意思的经济学知识的书。暴徒、劫掠者、海盗、黑手党,这些臭名昭著的不法之徒看似张牙舞爪,实则比我们想象的更有秩序。他们固然可以为了利益铤而走险,但同时又非常理性:秩序井然,赏罚分明,民主管理,力避冲突。作者细致描绘了大量妙趣横生的史实,用经济学中的理性选择理论深入剖析了边缘群体的组织形式,解释了为什么在人们...
序号28:https://book.douban.com/subject/30324805/?icn=index-latestbook-subject莎拉的钥匙-[法]塔季雅娜·德·罗斯奈-2019-1-四川文艺出版社-◆“我以为,这是唯一能保护你的方式,却让我永远失去了你。”全球千万读者感动推荐◆77年前巴黎媒体集体噤声的绝密事件;浪漫法国人心中的一颗刺。◆连续156周(两年多)盘踞《纽约时报》畅销榜Top10!同时期打败《偷书贼》《刺猬的优雅》,称霸全欧洲畅销书榜◆销量已超1000万册!平均每年销量100万册,持续畅销11年!◆科西嘉读者奖;书商首选书奖;加布里埃...
序号29:https://book.douban.com/subject/30394086/?icn=index-latestbook-subject20世纪西方人类学主要著作指南-王铭铭-2019-2-后浪丨民主与建设出版社-透过58部西方人类学经典著作勾勒20世纪西方人类学“故事”的主线◎编辑推荐为了求解一些关系到人的自我认识的问题,人类学家付出了大量艰辛的劳动,游走于琐碎的事物与抽象的观念之间,思考关于人自身的宏大叙事。并最终为我们留下了一笔宝贵、丰硕的学术遗产。《20世纪西方人类学主要著作指南》遴选了58部西方人类学经典著作,并对其学术脉络进行梳理,以便为普通...
序号30:https://book.douban.com/subject/30397755/?icn=index-latestbook-subject2018年中国悬疑小说精选-华斯比选编&nbsp;/&nbsp;三天两觉&nbsp;/&nbsp;梁清散&nbsp;/&nbsp;原晓&nbsp;/&nbsp;Sybil&nbsp;/&nbsp;苏小晗&nbsp;/&nbsp;王稼骏&nbsp;/&nbsp;陆秋槎&nbsp;/&nbsp;鸡丁&nbsp;/&nbsp;河狸&nbsp;/&nbsp;柳荐棉&nbsp;/&nbsp;永晴&nbsp;/&nbsp;君天-2019-1-长江文艺出版社-《2018年中国悬疑小说精选》收录了十二篇写作、发表于2018年度的悬疑推理小说。作者既有三天两觉、君天、原晓、梁清散这样的名家,又有王稼骏、陆秋槎、河狸、鸡丁这样的推理小说界中坚力量,还有永晴、柳荐棉、苏小晗、Sybil这样新锐作者。较之往年年选不同的是,主编华斯比于2018年3月创办了全国首个私人性质的推理小说奖——“华斯比推理小说奖”,首届征文比赛...
序号31:https://book.douban.com/subject/30389935/?icn=index-latestbook-subject四个春天-陆庆屹-2019-1-1-南海出版公司-《四个春天》是陆庆屹首部文字作品,他用深情质朴的文字和饱含温度的摄影,记录下父母、故乡、旧识……在书页间搭建起西南小城中充满烟火气、人情味,同时充盈着诗意的生活景象。在外的人,只能在春节时回家,和父母共处的日子,大都在春天里——相濡以沫半个世纪的父母,“土味”却饱含智慧的乡土人,细碎平常的片段,柔软浪漫的小事。清水白菜式的记录,简单却有热...
序号32:https://book.douban.com/subject/30394589/?icn=index-latestbook-subject月亮看见了-[丹麦]汉斯·克里斯汀·安徒生-2019-2-陕西师范大学出版总社有限公司-本书收录安徒生最特别的作品《月亮看见了》以及《柳树下的梦》《冰姑娘》等7部经典文学作品。《月亮看见了》讲述月亮高悬夜空的三十三个夜晚,它照亮世界的角落,把看到的一切向人们娓娓道来;《柳树下的梦》中,冰川与柳树共同见证炽热而孤独的爱情;《冰姑娘》中,阳光的女儿们和机敏狡黠的猫守护男孩在不同的国度冒险……安徒生以理性之眼观察人世,以温暖的笔触...
序号33:https://book.douban.com/subject/27667782/?icn=index-latestbook-subject普里莫·莱维传-[英]伊恩·汤姆森-2018-12-中信出版集团|三辉-◆作者耗数十年之功,找寻文学之外的普里莫·莱维;◆走访世界各地,以资料和细节呈现莱维最真实的肖像···【内容简介】他是一位化学家,自小痴迷试管和药剂,一生中有三十余年从事化学行当。他是一位伟大的作家;他因参与反法西斯运动被捕而沦为奥斯维辛的174517号囚犯,劫后余生,他成了大屠杀最重要的记录者和见证者,一次次清醒地做证、反思,写下了关于人类...
序号34:https://book.douban.com/subject/30328198/?icn=index-latestbook-subject对岸的她-[日]角田光代-2019-1-上海人民出版社-★渡边淳一盛赞,黑木瞳、小泉今日子激赏。★《空中庭园》《第八日的蝉》作者角田光代,第132届直木奖获奖作品。★感动无数人的女性友情小说。对岸的她,是憧憬的理想,是难以企及的美好——或者,是自己可以成为的模样。★关于一段刻骨铭心又无疾而终的少女时代友谊;一起轰动日本的女中学生离家出走和携手跳楼事件;三位不同成长经历的女性间隐秘的生命联系与情感...
序号35:https://book.douban.com/subject/30394606/?icn=index-latestbook-subject太时髦了!-[法]马克·博热(MarcBeauge)-2019-1-后浪丨台海出版社-对时尚的盲目追求只是一种“穿错而不自知的艺术”穿搭提示本质上是对优雅的侮辱◎编辑推荐☆本书内容新颖,视角独特,从政治、文化、历史等角度解读了现代时尚领域的五十种穿搭错误。不同于常见的时尚类书籍,本书作者对潮流有着独特的理解和敏锐的嗅觉,文笔幽默诙谐,读来轻松而新鲜,同时,本书中配有的插图也带着法式的幽默感,插画内容与文字配合紧密,能够带...
序号36:https://book.douban.com/subject/30380271/?icn=index-latestbook-subject危险的维纳斯-[日]东野圭吾-2019-1-北京联合出版公司-一个陌生女人的电话,一起失踪事件,动物医生手岛伯朗卷入一场正在进行的犯罪事件。没有任何线索,甚至连同伴也不能*信任。那个隐藏在家人中的凶手到底是谁?“维纳斯”不是某个人,而是存在于我们每个人心中令人疯狂的东西。恶不是一开始就存在,东野圭吾在这本书里诠释了好人是如何变成恶魔的。复杂的情节,反转再反转,但反转的是故事,还是人心?
序号37:https://book.douban.com/subject/30377971/?icn=index-latestbook-subject曹操-[日]堀敏一-2019-2-低音·北京联合出版公司-★「东京文献学派」史学名家堀敏一晚年力作★全方位解读开创魏晋南北朝时代的一代枭雄★陈苏镇审订,韩昇、仇鹿鸣诚意推荐-----------------------------------------------明畅笔触讲述“非常之人”的峥嵘一生史家卓识剖析“超世之杰”的深远影响-----------------------------------------------◎相关推荐堀敏一是著名日本学者,长于魏晋隋唐史。本书以曹操一生事迹为主线,依据《三国志》等史...
序号38:https://book.douban.com/subject/30297230/?icn=index-latestbook-subject丝-[德]迪尔克·胡泽曼-2019-1-低音·北京联合出版公司-★根据史学家普罗科匹厄斯记载的真实事件改编。★在长达400年的拜占庭-波斯战争中,几颗小小的蚕茧,何以成为帝国制胜的关键?-------------------------------------------------------------------------------------------------1.根据真实历史事件改编的历史小说,作者为考古学家、自由记者,内容参考了大量史料,故事情节和细节经得起考究和推敲,行文流畅有魅力;2.故事以丝绸之路为大背景,以...
序号39:https://book.douban.com/subject/30389970/?icn=index-latestbook-subject写作的禅机-[美]雷·布拉德伯里-2019-2-后浪|江西人民出版社-文学大师创作心法首度披露不可不读的经典写作指南◎编辑推荐☆《写作的禅机》被《作家》杂志(TheWriter)选入“十大最佳写作指导书”,出版二十余年,长踞美国亚马逊图书分类榜前列。☆集小说家、散文家、剧作家、诗人、编剧于一身,二十世纪科幻文学巨匠,《华氏451》作者雷•布雷德伯里数十年写作经验淬炼而成,为你解锁不可言说的灵感密码!☆在记忆和夜梦中...

输出结果

【Python爬虫】正则表达式与re模块的更多相关文章

  1. Python爬虫与数据分析之模块:内置模块、开源模块、自定义模块

    专栏目录: Python爬虫与数据分析之python教学视频.python源码分享,python Python爬虫与数据分析之基础教程:Python的语法.字典.元组.列表 Python爬虫与数据分析 ...

  2. 【转】Python之正则表达式(re模块)

    [转]Python之正则表达式(re模块) 本节内容 re模块介绍 使用re模块的步骤 re模块简单应用示例 关于匹配对象的说明 说说正则表达式字符串前的r前缀 re模块综合应用实例 参考文档 提示: ...

  3. Python爬虫 正则表达式

    1.正则表达式概述 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来 ...

  4. Python之正则表达式(re模块)

    本节内容 re模块介绍 使用re模块的步骤 re模块简单应用示例 关于匹配对象的说明 说说正则表达式字符串前的r前缀 re模块综合应用实例 正则表达式(Regluar Expressions)又称规则 ...

  5. Python与正则表达式[0] -> re 模块的正则表达式匹配

    正则表达式 / Regular Expression 目录 正则表达式模式 re 模块简介 使用正则表达式进行匹配 正则表达式RE(Regular Expression, Regexp, Regex) ...

  6. Python 爬虫-正则表达式(补)

    2017-08-08 18:37:29 一.Python中正则表达式使用原生字符串的几点说明 原生字符串和普通字符串的不同 相较于普通字符串,原生字符串中的\就是反斜杠,并不表达转义.不过,字符串转成 ...

  7. Python爬虫学习1: Requests模块的使用

    Requests函数库是学习Python爬虫必备之一, 能够帮助我们方便地爬取. Requests: 让HTTP服务人类. 本文主要参考了其官方文档. Requests具有完备的中英文文档, 能完全满 ...

  8. python之正则表达式和re模块一

    摘要:正则表达式 re模块 一.正则表达式:只和字符串打交道,是一种用来约束字符串的规则 1.应用场景: 1,判断某一个字符串是否符合规则:注册页-判断手机号.身份证号 是否合法 注册某个账号的时候, ...

  9. python与正则表达式:re模块详解

    re模块是python中处理正在表达式的一个模块 正则表达式知识储备:http://www.cnblogs.com/huamingao/p/6031411.html 1. match(pattern, ...

  10. python之正则表达式及RE模块

    正则表达式(匹配字符串)web界面正则匹配工具:http://tool.chinaz.com/regex/ 元字符 1 . 匹配除换行符之外的任意字符 2 \w 匹配数字字母下划线 3 \d 匹配数字 ...

随机推荐

  1. Java知多少(72)文件的随机读写

    Java.io 包提供了 RandomAccessFile 类用于随机文件的创建和访问.使用这个类,可以跳转到文件的任意位置读写数据.程序可以在随机文件中插入数据,而不会破坏该文件的其他数据.此外,程 ...

  2. C++ 智能指针三

    /* 智能指针shared_ptr注意点 */ #include <iostream> #include <string> #include <memory> // ...

  3. Android图片处理(Matrix,ColorMatrix)

    转发说明:原文链接http://www.cnblogs.com/leon19870907/articles/1978065.html 在编程中有时候需要对图片做特殊的处理,比如将图片做出黑白的,或者老 ...

  4. MTK 屏幕旋转90度

    http://blog.csdn.net/ouo555/article/details/44806837 1.屏幕显示顺时针旋转90度 lk 横屏logo,顺时针旋转90度显示修改bootable/b ...

  5. iOS开发-- 一个苹果证书如何多次使用

    苹果的开发者账号限制开发者证书只能有5个,我们开发过程中遇到超过5个人需要真机调试的情况,如何解决这个问题呢? 有两种方式可以解决问题: 1. Revoke原来的证书----不推荐 将以前的证书“re ...

  6. vmware虚拟机的tomcat启动以后,主机无法访问

    处理: 关闭防火墙服务:/etc/init.d/iptables stop ..................... 在wmware中安装linux后安装好数据库,JDK及tomcat后启动服务,虚 ...

  7. day_5.12 py 老王开枪demo

    ps:2018-7-24 21:00:04 其实这部分主要是面向对象的复习!而不是面向过程 #!/usr/bin/env/python #-*-coding:utf-8-*- ''' 2018-5-1 ...

  8. JVM源码分析之栈溢出完全解读

    概述 之所以想写这篇文章,其实是因为最近有不少系统出现了栈溢出导致进程crash的问题,并且很隐蔽,根本原因还得借助coredump才能分析出来,于是想从JVM实现的角度来全面分析下栈溢出的这类问题, ...

  9. 设计模式学习--Singleton

    What Singleton:保证一个类仅有一个实例,并提供一个访问它的全局访问点. Why Singletion是我比较熟悉的设计模式之一,在平常的开发过程中,也曾几次用到,它主要适用于如下场景: ...

  10. 淘宝NPM镜像cnpm

    # 安装cnpm命令 npm install -g cnpm --registry=https://registry.npm.taobao.org2.cnpm install