正则表达式操作实践
来自 Python123
有一些网站提供了常用的正则表达式和测试环境,例如
- regexr.com 一个非常棒的在线环境,我经常使用
- regexlib.com 一个非常棒的在线环境,我经常使用
高效文本处理 - 1
原始文本如下
张伟 17664999502 \n
王伟 17187690316 \n
王芳 14210007607 \n
李伟 15878807133 \n
王秀英 15575237523 \n
李秀英 15695435545 \n
李娜 18346347153 \n
张秀英 17017338288 \n
刘伟 15481361668 \n
张敏 13528947724 \n
李静 18522824481 \n
张丽 14352788577 \n
王静 18637851730 \n
王丽 15862244782 \n
李强 14363718204 \n
张静 13418111578 \n
李敏 15657258884 \n
王敏 17574922377 \n
王磊 14517362847 \n
李军 18088271014 \n
刘洋 17897166967 \n
-
提取所有 11 位数字电话号码
\d{11}
匹配结果
17664999502 17187690316 14210007607 15878807133 15575237523 15695435545 18346347153 17017338288 15481361668 13528947724 18522824481 14352788577 18637851730 15862244782 14363718204 13418111578 15657258884 17574922377 14517362847 18088271014 17897166967
-
提取所有 18 或 13 开头的电话号码
(18|13)\d{9}
匹配结果
18346347153 13528947724 18522824481 18637851730 13418111578 18088271014
-
提取所有“王”姓同学的名字
王\S*
匹配结果
王伟 王芳 王秀英 王静 王丽 王敏 王磊
-
提取所有“张”姓同学的电话号码
(张\S*) *(\d{11}) || $1 的电话是 $2
匹配结果
张伟 的电话是 17664999502 张秀英 的电话是 17017338288 张敏 的电话是 13528947724 张丽 的电话是 14352788577 张静 的电话是 13418111578
-
重新排版
(\S*) *(\d{11}) || $1 - $2
匹配结果
张伟 - 17664999502 王伟 - 17187690316 王芳 - 14210007607 李伟 - 15878807133 王秀英 - 15575237523 李秀英 - 15695435545 李娜 - 18346347153 张秀英 - 17017338288 刘伟 - 15481361668 张敏 - 13528947724 李静 - 18522824481 张丽 - 14352788577 王静 - 18637851730 王丽 - 15862244782 李强 - 14363718204 张静 - 13418111578 李敏 - 15657258884 王敏 - 17574922377 王磊 - 14517362847 李军 - 18088271014 刘洋 - 17897166967
高效文本处理 - 2
原始文本如下
# 日期格式混乱的姓名簿
张伟 1999年11月16日 王伟 1994.11.14
王芳 1991年12月15日 李伟 1993-3-16 王秀英 1993年11月7日
李秀英 1992-1-18
李娜 1996年9月6日 张秀英 1995-6-0 刘伟 1996年1月4日 张敏 1995.3.16
李静 1996-6-27 张丽 1997-6-28
王静 1997-5-4
王丽 1996-1-2
李强 1991-4-21
张静 1991-9-7 李敏 1997-6-5
王敏 1999年2月9日
王磊 1997-8-19 李军 1990年6月4日
刘洋 1999-6-25
- 提取所有日期
匹配结果\d{4}\S\d{1,2}\S\d{1,2}\S?
1999年11月16日 1994.11.14 1991年12月15日 1993-3-16 1993年11月7日 1992-1-18 1996年9月6日 1995-6-0 1996年1月4日 1995.3.16 1996-6-27 1997-6-28 1997-5-4 1996-1-2 1991-4-21 1991-9-7 1997-6-5 1999年2月9日 1997-8-19 1990年6月4日 1999-6-25
- 提取所有 1996 年以前出生的学生
匹配结果(\S*) *199[0-5]\S\d{1,2}\S\d{1,2}\S?
王伟 1994.11.14 王芳 1991年12月15日 李伟 1993-3-16 王秀英 1993年11月7日 李秀英 1992-1-18 张秀英 1995-6-0 张敏 1995.3.16 李强 1991-4-21 张静 1991-9-7 李军 1990年6月4日
- 重新排版
匹配结果(\S*) *(\d{4})\S(\d{1,2})\S(\d{1,2})\S? || $1: $2 年 $3 月 $4 日
张伟: 1999 年 11 月 16 日 王伟: 1994 年 11 月 14 日 王芳: 1991 年 12 月 15 日 李伟: 1993 年 3 月 16 日 王秀英: 1993 年 11 月 7 日 李秀英: 1992 年 1 月 18 日 李娜: 1996 年 9 月 6 日 张秀英: 1995 年 6 月 0 日 刘伟: 1996 年 1 月 4 日 张敏: 1995 年 3 月 16 日 李静: 1996 年 6 月 27 日 张丽: 1997 年 6 月 28 日 王静: 1997 年 5 月 4 日 王丽: 1996 年 1 月 2 日 李强: 1991 年 4 月 21 日 张静: 1991 年 9 月 7 日 李敏: 1997 年 6 月 5 日 王敏: 1999 年 2 月 9 日 王磊: 1997 年 8 月 19 日 李军: 1990 年 6 月 4 日 刘洋: 1999 年 6 月 25 日
- 把所有 1996 年以前出生的学生出生年份改为 1996
匹配结果(\S*) *(199[0-5])\S(\d{1,2})\S(\d{1,2})\S? || $1: 1996 年 $3 月 $4 日
王伟: 1996 年 11 月 14 日 王芳: 1996 年 12 月 15 日 李伟: 1996 年 3 月 16 日 王秀英: 1996 年 11 月 7 日 李秀英: 1996 年 1 月 18 日 张秀英: 1996 年 6 月 0 日 张敏: 1996 年 3 月 16 日 李强: 1996 年 4 月 21 日 张静: 1996 年 9 月 7 日 李军: 1996 年 6 月 4 日
- 提取生日
匹配结果(\S*) *(199[0-5])\S(\d{1,2})\S(\d{1,2})\S? || $1的生日是$3月$4号
张伟的生日是11月16号 王伟的生日是11月14号 王芳的生日是12月15号 李伟的生日是3月16号 王秀英的生日是11月7号 李秀英的生日是1月18号 李娜的生日是9月6号 张秀英的生日是6月0号 刘伟的生日是1月4号 张敏的生日是3月16号 李静的生日是6月27号 张丽的生日是6月28号 王静的生日是5月4号 王丽的生日是1月2号 李强的生日是4月21号 张静的生日是9月7号 李敏的生日是6月5号 王敏的生日是2月9号 王磊的生日是8月19号 李军的生日是6月4号 刘洋的生日是6月25号
代码重构
原始文本如下
def fib():
return ((1+sqrt(5))**n-(1-sqrt(5))**n)/(2**n*sqrt(5))
def subfib(start, end):
for cur in fib():
if cur > end: return
if cur >= start:
print cur
yield cur
def foo(a, b):
return a + b
print 'fibonacci 10~100:'
print subfib(10, 100)
- 调整缩进,将四空格缩进重构为八个空格
处理结果如下^(\s+) || $1$1
def fib(): return ((1+sqrt(5))**n-(1-sqrt(5))**n)/(2**n*sqrt(5)) def subfib(start, end): for cur in fib(): if cur > end: return if cur >= start: print cur yield cur def foo(a, b): return a + b print 'fibonacci 10~100:' print subfib(10, 100)
- 重构 Python2 的 print 语法为 Python3 的 print() 函数
处理结果如下print *(.*)$ || print($1)
def fib(): return ((1+sqrt(5))**n-(1-sqrt(5))**n)/(2**n*sqrt(5)) def subfib(start, end): for cur in fib(): if cur > end: return if cur >= start: print(cur) yield cur def foo(a, b): return a + b print('fibonacci 10~100:') print(subfib(10, 100))
- 所有函数声明添加 func_ 前缀
处理结果如下def *(.*) || def func_$1
def func_fib(): return ((1+sqrt(5))**n-(1-sqrt(5))**n)/(2**n*sqrt(5)) def func_subfib(start, end): for cur in fib(): if cur > end: return if cur >= start: print cur yield cur def func_foo(a, b): return a + b print 'fibonacci 10~100:' print subfib(10, 100)
- 交换函数声明中的参数位置
处理结果如下def (.*?)\((\w+), *(\w+)\) || def $1($3, $2)
def fib(): return ((1+sqrt(5))**n-(1-sqrt(5))**n)/(2**n*sqrt(5)) def subfib(end, start): for cur in fib(): if cur > end: return if cur >= start: print cur yield cur def foo(b, a): return a + b print 'fibonacci 10~100:' print subfib(10, 100)
- 为所有函数添加注释模板
处理结果如下def *(.*): || def $1: """ 函数描述: 参数: 返回值: """
def fib(): """ 函数描述: 参数: 返回值: """ return ((1+sqrt(5))**n-(1-sqrt(5))**n)/(2**n*sqrt(5)) def subfib(start, end): """ 函数描述: 参数: 返回值: """ for cur in fib(): if cur > end: return if cur >= start: print cur yield cur def foo(a, b): """ 函数描述: 参数: 返回值: """ return a + b print 'fibonacci 10~100:' print subfib(10, 100)
数据格式验证
数据格式验证是正则表达式的一个常用领域,网站通常使用正则表达式来判断用户提交的信息是否符合规范。
下面的正则表达式都相当复杂,幸运的是你不需要记忆这些常用的正则表达式,需要时通过任何搜索引擎都能够找到。
- 邮箱验证
原始文本
正则表达式123@qq.com asdf@gmail.com surname@blah.com name.name@123.com 1242135.com @foo.com a@a name @bla.com
处理结果^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$
123@qq.com asdf@gmail.com surname@blah.com name.name@123.com
- 密码强度验证(最少八个字符,至少一个大写字母,一个小写字母和一个数字)
原始文本
正则表达式123456 wdfqe#wefDdf123 wjleif932 8Ij12340 password 11111111ABc hello qweasdzxc
处理结果^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^\n]{8,}$
wdfqe#wefDdf123 8Ij12340 11111111ABc
- 18 位身份证号验证
原始文本
正则表达式23010519491231002X 33010517491231232X 67810519491331214X 22010519491232452X 123412195292349132 123412196712234932 a23rr23451235t123f 124123580913457102
处理结果^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$
23010519491231002X 123412196712234932
- IP 地址验证
原始文本
正则表达式1.0.0.0 12.3.4.5 192.168.1.1 192.168.256.1 1.2.2.2 0.0.0.0 2.3.4 -1.2.3.4
处理结果^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
1.0.0.0 12.3.4.5 192.168.1.1 1.2.2.2 0.0.0.0
- 手机号验证
原始文本
正则表达式12345678900 12354125235 15423423523 15123458654 8613890235892 017728384893 11111111111
处理结果^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$
15123458654 8613890235892 017728384893
网络爬虫
网络爬虫提取数据也离不开正则表达式。
- 提取所有 HTML 标签
正则表达式
原始文本<("[^"]*"|'[^']*'|[^'">])*>
处理结果<div class="hotnews"> <div class="imgview" id="imgView"><a href="https://xinwen.eastday.com/a/n181211075002407.html?qid=news.baidu.com" target="_blank"><img src="https://imgsa.baidu.com/news/q%3D100/sign=cdae0fb78a94a4c20c23e32b3ef51bac/cefc1e178a82b90151b62d8b7e8da9773912ef6b.jpg"></a></div><ul><li class="hdline0"> <a href="http://www.xinhuanet.com/politics/xxjxs/2018-12/11/c_1123834898.htm" target="_blank" class="a3"> ***的改革之“喻” </a></li> <li class="hdline1"> <a href="http://news.cri.cn/20181211/313376c7-77cc-abff-3a81-bd855c0a8577.html" target="_blank"> 《必由之路》宣传片</a> <i style="font-size: 12px"> </i><a href="http://politics.gmw.cn/2018-12/11/content_32146726.htm" target="_blank"> 主题歌《梦想阳光》发布 </a> </li> <li class="hdline2"> <img src="https://imgsa.baidu.com/news/q%3D100/sign=ab45ee53bbfd5266a12b38149b199799/f9198618367adab46063f9fb86d4b31c8601e4d3.jpg"><a href="http://politics.people.com.cn/n1/2018/1211/c1001-30458946.html" target="_blank" class="a3"> 【央视快评】坚持中国特色人权发展道路</a></li> <li class="hdline3"> <a href="http://news.cri.cn/20181210/384ab948-e36b-b455-9d97-8eb05172c179.html" target="_blank">同舟共济</a> <i style="font-size: 12px"> </i><a href="http://news.cctv.com/2018/12/10/ARTI9v2GwcDNkh8obJh2vnUy181210.shtml" target="_blank"> 《改革开放 关键一招》第一集</a> </li> <li class="hdline4"> <a href="http://news.cctv.com/2018/12/10/ARTISzd4ekNLNB88EFFtMgB7181210.shtml" target="_blank" class="a3"> 【数说改革开放40年】40年减贫7.4亿人</a></li> <li class="hdline5"> <a href="http://news.ifeng.com/a/20181211/60188943_0.shtml?_zbs_baidu_news" target="_blank">***出席的这个活动,有什么来头?</a> </li> </ul> </div>
<div class="hotnews"> <div class="imgview" id="imgView"> <a href="https://xinwen.eastday.com/a/n181211075002407.html?qid=news.baidu.com" target="_blank"> <img src="https://imgsa.baidu.com/news/q%3D100/sign=cdae0fb78a94a4c20c23e32b3ef51bac/cefc1e178a82b90151b62d8b7e8da9773912ef6b.jpg"> </a> </div> <ul> <li class="hdline0"> <a href="http://www.xinhuanet.com/politics/xxjxs/2018-12/11/c_1123834898.htm" target="_blank" class="a3"> </a> </li> <li class="hdline1"> <a href="http://news.cri.cn/20181211/313376c7-77cc-abff-3a81-bd855c0a8577.html" target="_blank"> </a> <i style="font-size: 12px"> </i> <a href="http://politics.gmw.cn/2018-12/11/content_32146726.htm" target="_blank"> </a> </li> <li class="hdline2"> <img src="https://imgsa.baidu.com/news/q%3D100/sign=ab45ee53bbfd5266a12b38149b199799/f9198618367adab46063f9fb86d4b31c8601e4d3.jpg"> <a href="http://politics.people.com.cn/n1/2018/1211/c1001-30458946.html" target="_blank" class="a3"> </a> </li> <li class="hdline3"> <a href="http://news.cri.cn/20181210/384ab948-e36b-b455-9d97-8eb05172c179.html" target="_blank"> </a> <i style="font-size: 12px"> </i> <a href="http://news.cctv.com/2018/12/10/ARTI9v2GwcDNkh8obJh2vnUy181210.shtml" target="_blank"> </a> </li> <li class="hdline4"> <a href="http://news.cctv.com/2018/12/10/ARTISzd4ekNLNB88EFFtMgB7181210.shtml" target="_blank" class="a3"> </a> </li> <li class="hdline5"> <a href="http://news.ifeng.com/a/20181211/60188943_0.shtml?_zbs_baidu_news" target="_blank"> </a> </li> </ul> </div>
- 清洗所有 HTML 标签
正则表达式
原始文本<("[^"]*"|'[^']*'|[^'">])*> || ' '
处理结果<div class="hotnews"> <div class="imgview" id="imgView"><a href="https://xinwen.eastday.com/a/n181211075002407.html?qid=news.baidu.com" target="_blank"><img src="https://imgsa.baidu.com/news/q%3D100/sign=cdae0fb78a94a4c20c23e32b3ef51bac/cefc1e178a82b90151b62d8b7e8da9773912ef6b.jpg"></a></div><ul><li class="hdline0"> <a href="http://www.xinhuanet.com/politics/xxjxs/2018-12/11/c_1123834898.htm" target="_blank" class="a3"> ***的改革之“喻” </a></li> <li class="hdline1"> <a href="http://news.cri.cn/20181211/313376c7-77cc-abff-3a81-bd855c0a8577.html" target="_blank"> 《必由之路》宣传片</a> <i style="font-size: 12px"> </i><a href="http://politics.gmw.cn/2018-12/11/content_32146726.htm" target="_blank"> 主题歌《梦想阳光》发布 </a> </li> <li class="hdline2"> <img src="https://imgsa.baidu.com/news/q%3D100/sign=ab45ee53bbfd5266a12b38149b199799/f9198618367adab46063f9fb86d4b31c8601e4d3.jpg"><a href="http://politics.people.com.cn/n1/2018/1211/c1001-30458946.html" target="_blank" class="a3"> 【央视快评】坚持中国特色人权发展道路</a></li> <li class="hdline3"> <a href="http://news.cri.cn/20181210/384ab948-e36b-b455-9d97-8eb05172c179.html" target="_blank">同舟共济</a> <i style="font-size: 12px"> </i><a href="http://news.cctv.com/2018/12/10/ARTI9v2GwcDNkh8obJh2vnUy181210.shtml" target="_blank"> 《改革开放 关键一招》第一集</a> </li> <li class="hdline4"> <a href="http://news.cctv.com/2018/12/10/ARTISzd4ekNLNB88EFFtMgB7181210.shtml" target="_blank" class="a3"> 【数说改革开放40年】40年减贫7.4亿人</a></li> <li class="hdline5"> <a href="http://news.ifeng.com/a/20181211/60188943_0.shtml?_zbs_baidu_news" target="_blank">***出席的这个活动,有什么来头?</a> </li> </ul> </div>
***的改革之“喻” 《必由之路》宣传片 主题歌《梦想阳光》发布 【央视快评】坚持中国特色人权发展道路 同舟共济 《改革开放 关键一招》第一集 【数说改革开放40年】40年减贫7.4亿人 ***出席的这个活动,有什么来头?
- 提取所有 URL
正则表达式
原始文本(https?|ftp|file)(:/)?/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]
处理结果<div class="hotnews"> <div class="imgview" id="imgView"><a href="https://xinwen.eastday.com/a/n181211075002407.html?qid=news.baidu.com" target="_blank"><img src="https://imgsa.baidu.com/news/q%3D100/sign=cdae0fb78a94a4c20c23e32b3ef51bac/cefc1e178a82b90151b62d8b7e8da9773912ef6b.jpg"></a></div><ul><li class="hdline0"> <a href="http://www.xinhuanet.com/politics/xxjxs/2018-12/11/c_1123834898.htm" target="_blank" class="a3"> ***的改革之“喻” </a></li> <li class="hdline1"> <a href="http://news.cri.cn/20181211/313376c7-77cc-abff-3a81-bd855c0a8577.html" target="_blank"> 《必由之路》宣传片</a> <i style="font-size: 12px"> </i><a href="http://politics.gmw.cn/2018-12/11/content_32146726.htm" target="_blank"> 主题歌《梦想阳光》发布 </a> </li> <li class="hdline2"> <img src="https://imgsa.baidu.com/news/q%3D100/sign=ab45ee53bbfd5266a12b38149b199799/f9198618367adab46063f9fb86d4b31c8601e4d3.jpg"><a href="http://politics.people.com.cn/n1/2018/1211/c1001-30458946.html" target="_blank" class="a3"> 【央视快评】坚持中国特色人权发展道路</a></li> <li class="hdline3"> <a href="http://news.cri.cn/20181210/384ab948-e36b-b455-9d97-8eb05172c179.html" target="_blank">同舟共济</a> <i style="font-size: 12px"> </i><a href="http://news.cctv.com/2018/12/10/ARTI9v2GwcDNkh8obJh2vnUy181210.shtml" target="_blank"> 《改革开放 关键一招》第一集</a> </li> <li class="hdline4"> <a href="http://news.cctv.com/2018/12/10/ARTISzd4ekNLNB88EFFtMgB7181210.shtml" target="_blank" class="a3"> 【数说改革开放40年】40年减贫7.4亿人</a></li> <li class="hdline5"> <a href="http://news.ifeng.com/a/20181211/60188943_0.shtml?_zbs_baidu_news" target="_blank">***出席的这个活动,有什么来头?</a> </li> </ul> </div>
https://xinwen.eastday.com/a/n181211075002407.html?qid=news.baidu.com https://imgsa.baidu.com/news/q%3D100/sign=cdae0fb78a94a4c20c23e32b3ef51bac/cefc1e178a82b90151b62d8b7e8da9773912ef6b.jpg http://www.xinhuanet.com/politics/xxjxs/2018-12/11/c_1123834898.htm http://news.cri.cn/20181211/313376c7-77cc-abff-3a81-bd855c0a8577.html http://politics.gmw.cn/2018-12/11/content_32146726.htm https://imgsa.baidu.com/news/q%3D100/sign=ab45ee53bbfd5266a12b38149b199799/f9198618367adab46063f9fb86d4b31c8601e4d3.jpg http://politics.people.com.cn/n1/2018/1211/c1001-30458946.html http://news.cri.cn/20181210/384ab948-e36b-b455-9d97-8eb05172c179.html http://news.cctv.com/2018/12/10/ARTI9v2GwcDNkh8obJh2vnUy181210.shtml http://news.cctv.com/2018/12/10/ARTISzd4ekNLNB88EFFtMgB7181210.shtml http://news.ifeng.com/a/20181211/60188943_0.shtml?_zbs_baidu_news
- 提取所有 JPG 图片的 URL
正则表达式
原始文本(https?|ftp|file)(:/)?/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|].jpg
处理结果<div class="hotnews"> <div class="imgview" id="imgView"><a href="https://xinwen.eastday.com/a/n181211075002407.html?qid=news.baidu.com" target="_blank"><img src="https://imgsa.baidu.com/news/q%3D100/sign=cdae0fb78a94a4c20c23e32b3ef51bac/cefc1e178a82b90151b62d8b7e8da9773912ef6b.jpg"></a></div><ul><li class="hdline0"> <a href="http://www.xinhuanet.com/politics/xxjxs/2018-12/11/c_1123834898.htm" target="_blank" class="a3"> ***的改革之“喻” </a></li> <li class="hdline1"> <a href="http://news.cri.cn/20181211/313376c7-77cc-abff-3a81-bd855c0a8577.html" target="_blank"> 《必由之路》宣传片</a> <i style="font-size: 12px"> </i><a href="http://politics.gmw.cn/2018-12/11/content_32146726.htm" target="_blank"> 主题歌《梦想阳光》发布 </a> </li> <li class="hdline2"> <img src="https://imgsa.baidu.com/news/q%3D100/sign=ab45ee53bbfd5266a12b38149b199799/f9198618367adab46063f9fb86d4b31c8601e4d3.jpg"><a href="http://politics.people.com.cn/n1/2018/1211/c1001-30458946.html" target="_blank" class="a3"> 【央视快评】坚持中国特色人权发展道路</a></li> <li class="hdline3"> <a href="http://news.cri.cn/20181210/384ab948-e36b-b455-9d97-8eb05172c179.html" target="_blank">同舟共济</a> <i style="font-size: 12px"> </i><a href="http://news.cctv.com/2018/12/10/ARTI9v2GwcDNkh8obJh2vnUy181210.shtml" target="_blank"> 《改革开放 关键一招》第一集</a> </li> <li class="hdline4"> <a href="http://news.cctv.com/2018/12/10/ARTISzd4ekNLNB88EFFtMgB7181210.shtml" target="_blank" class="a3"> 【数说改革开放40年】40年减贫7.4亿人</a></li> <li class="hdline5"> <a href="http://news.ifeng.com/a/20181211/60188943_0.shtml?_zbs_baidu_news" target="_blank">***出席的这个活动,有什么来头?</a> </li> </ul> </div>
https://imgsa.baidu.com/news/q%3D100/sign=cdae0fb78a94a4c20c23e32b3ef51bac/cefc1e178a82b90151b62d8b7e8da9773912ef6b.jpg
- 提取所有中文和中文标点
正则表达式
原始文本[\u4e00-\u9fa5\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b]+
处理结果<div class="hotnews"> <div class="imgview" id="imgView"><a href="https://xinwen.eastday.com/a/n181211075002407.html?qid=news.baidu.com" target="_blank"><img src="https://imgsa.baidu.com/news/q%3D100/sign=cdae0fb78a94a4c20c23e32b3ef51bac/cefc1e178a82b90151b62d8b7e8da9773912ef6b.jpg"></a></div><ul><li class="hdline0"> <a href="http://www.xinhuanet.com/politics/xxjxs/2018-12/11/c_1123834898.htm" target="_blank" class="a3"> ***的改革之“喻” </a></li> <li class="hdline1"> <a href="http://news.cri.cn/20181211/313376c7-77cc-abff-3a81-bd855c0a8577.html" target="_blank"> 《必由之路》宣传片</a> <i style="font-size: 12px"> </i><a href="http://politics.gmw.cn/2018-12/11/content_32146726.htm" target="_blank"> 主题歌《梦想阳光》发布 </a> </li> <li class="hdline2"> <img src="https://imgsa.baidu.com/news/q%3D100/sign=ab45ee53bbfd5266a12b38149b199799/f9198618367adab46063f9fb86d4b31c8601e4d3.jpg"><a href="http://politics.people.com.cn/n1/2018/1211/c1001-30458946.html" target="_blank" class="a3"> 【央视快评】坚持中国特色人权发展道路</a></li> <li class="hdline3"> <a href="http://news.cri.cn/20181210/384ab948-e36b-b455-9d97-8eb05172c179.html" target="_blank">同舟共济</a> <i style="font-size: 12px"> </i><a href="http://news.cctv.com/2018/12/10/ARTI9v2GwcDNkh8obJh2vnUy181210.shtml" target="_blank"> 《改革开放 关键一招》第一集</a> </li> <li class="hdline4"> <a href="http://news.cctv.com/2018/12/10/ARTISzd4ekNLNB88EFFtMgB7181210.shtml" target="_blank" class="a3"> 【数说改革开放40年】40年减贫7.4亿人</a></li> <li class="hdline5"> <a href="http://news.ifeng.com/a/20181211/60188943_0.shtml?_zbs_baidu_news" target="_blank">***出席的这个活动,有什么来头?</a> </li> </ul> </div>
***的改革之“喻” 《必由之路》宣传片 主题歌《梦想阳光》发布 央视快评 坚持中国特色人权发展道路 同舟共济 《改革开放 关键一招》第一集 数说改革开放 年 年减贫 亿人 ***出席的这个活动,有什么来头?